我想创建一个供用户注册的邀请表。但注册表只适用于有特殊邀请码的人。那么如何在Zend表单验证中设置它以检查邀请代码是否与用户输入的代码匹配。邀请代码对于所有受邀人员都是相同的。
这是我写的代码。
$invitationElement = new Zend_Form_Element_Text('invitationCode');
$invitationElement->setLabel('Invitation Code');
$invitationElement->setRequired(true);
非常感谢
答案 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
确保人们在显示表单时拥有上述代码。