需要有关zend表单验证的帮助

时间:2011-06-09 07:32:06

标签: zend-framework zend-form

我想创建一个供用户注册的邀请表。但注册表只适用于有特殊邀请码的人。那么如何在Zend表单验证中设置它以检查邀请代码是否与用户输入的代码匹配。邀请代码对于所有受邀人员都是相同的。

这是我写的代码。

                    $invitationElement = new Zend_Form_Element_Text('invitationCode');
                    $invitationElement->setLabel('Invitation Code');
                    $invitationElement->setRequired(true);

非常感谢

3 个答案:

答案 0 :(得分:3)

如果你使用5.3,你可以使用带有闭包的回调验证器:

$valid = new Zend_Validate_Callback(function($value){
    // some validation
    return true;
});

或者你可以使用正则表达式验证器

$validator = new Zend_Validate_Regex(array('pattern' => '/^Test/');

或相同的验证者:

$valid = new Zend_Validate_Identical('test');

答案 1 :(得分:0)

您可以在控制器中执行此操作(获取POST数据并检查它是否与您的邀请代码匹配 - 如果不匹配,请在表单元素中添加错误),或者您可以编写自己的自定义验证程序。 This post可能会帮助您编写自定义验证程序(或者只是谷歌获取更多资源)。

答案 2 :(得分:0)

这是业务要求,您应该在业务层内验证它,我建议您这样做。

我建议您使用唯一的查询字符串来标识请求并处理页面。像

这样的东西
  

http://www.example.com/signup?invite=som32mthing23unique0988h

确保人们在显示表单时拥有上述代码。