gpt4 book ai didi

jquery - 如何验证 Zend_Form?

转载 作者:行者123 更新时间:2023-12-01 04:19:27 25 4
gpt4 key购买 nike

首先,我尝试在 stackoverflow 上搜索类似的主题。我知道一些类似的帖子被关闭,因为已经有答案的帖子,我真的觉得它没有帮助(这里: zend form validation ,也许我不够聪明),所以请管理员,允许这篇文章停留一段时间>**

就我而言,首先我在 Controller 中声明表单:

        $this->_helper->layout->disableLayout();
$form = new Zend_Form();
$form->setAction('/user/login')
->setMethod('post');

// Create and configure username element:
$username = $form->createElement('text', 'username');
$username->addValidator('alnum')
->addValidator('regex', false, array('/^[a-z]+/'))
->addValidator('stringLength', false, array(6, 20))
->setRequired(true)
->addFilter('StringToLower');

// Create and configure password element:
$password = $form->createElement('password', 'password');
$password->addValidator('StringLength', false, array(6))
->setRequired(true);

// Add elements to form:
$form->addElement($username)
->addElement($password)
// use addElement() as a factory to create 'Login' button:
->addElement('submit', 'login', array('label' => 'Login'));

然后我在 View 文件中输出:

<?php echo  $this->testForm;?> 

我们发现了一些非常酷的表单验证器 Jquery 插件,但我不知道如何将它与 Zend Form 中的代码集成。我尝试引用 Zendx_Jquery,似乎甚至不包含表单验证选项。

有人能撕碎一盏灯吗?谢谢。

PS,你可能会在我的代码中发现我已经有一些用于验证的参数,这不是我想要的,我想要的只是前端使用一些 jquery 插件进行实时输入验证。

最佳答案

要添加 jQuery 验证,您可以向表单添加一些装饰器,例如:

    $form->setName('postForm');
$form->setMethod('post');
$form->addDecorator('HtmlTag', array('tag' => 'div', 'class' => 'my-lovely-form'));
$form->setAttrib('enctype', 'multipart/form-data');

然后在 View.phtml 示例中进行 jQuery 验证:

$('#postForm').validate({
submitHandler: function(form) {
$("#submit").attr('disabled', 'disabled');
form.submit();
},
onchange: true,
errorLabelContainer: $('.error-container'),
wrapper: "p",
rules: {
name: {
required: true,
minlength: <?php echo $this->validationConfig->form->name->minlength; ?>,
maxlength: <?php echo $this->validationConfig->form->name->maxlength; ?>
},
title: {
required: true,
minlength: <?php echo $this->validationConfig->form->title->minlength; ?>,
maxlength: <?php echo $this->validationConfig->form->title->maxlength; ?>
}
},
messages: {
name: {
required: "Full name is required",
minlength: "Full name has to be at least <?php echo $this->validationConfig->form->name->minlength; ?> characters long",
maxlength: "Full name has to be less than <?php echo $this->validationConfig->form->name->maxlength; ?> characters long"
},
title: {
required: "Title is required",
minlength: "Title has to be at least <?php echo $this->validationConfig->form->title->minlength; ?> characters long",
maxlength: "Title has to be less than <?php echo $this->validationConfig->form->title->maxlength; ?> characters long"
}
}
});

我希望这可以帮助你。

关于jquery - 如何验证 Zend_Form?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com