嗨,我的一个应用程序模型的 rules() 方法有问题。
这是规则():
public function rules()
{
$newRules = array(
array('password_verification', 'required'),
array('password_verification', 'length', 'min'=>6, 'max'=>32),
array('password', 'compare', 'compareAttribute'=>'password_verification'),
array('username, email', 'length', 'min'=>3,'max'=>255),
array('password', 'length','min'=>6, 'max'=>32),
array('username, email', 'unique'),
array('email', 'email'),
array('valid_until_formated','compare',
'compareAttribute'=>'valid_from_formated','operator'=>'>'),
array('id, type,username, password, password_verification, email, valid_from, valid_until, valid_until_formated, valid_from_formated, added_on, created_by','safe'),
);
}
(对不起代码的格式)。
这就是问题所在:
我想测试“valid_until_formated”是否大于“valid_from_formated”。
当我用错误的值(valid_from 大于 vali_ until)提交我的表单时,我收到一条错误消息,我可以在 firebug 上看到它,但这些值已插入数据库中。
但是例如,如果我尝试使用已使用的用户名或字符数少于 6 的密码,那么我会遇到错误并且在数据库中没有创建任何内容?
有谁知道为什么这条规则不起作用(即使我收到一条错误消息)?(这是valid_until_formated的格式,例如:“20121118”)
感谢您阅读我,并为我的近似英语感到抱歉。
祝你有美好的一天 :)
迈克尔