嗨,我爲我的項目使用cakephp框架。在我的表單上我拿一個複選框點擊這兩個其他文本框顯示。 通過使用cakephp驗證方法我驗證表單數據,但我希望當複選框未選中,然後它避免驗證該文本框。它僅在複選框被選中時檢查。 所以plz幫助我。如何防止元素驗證
在此先感謝
嗨,我爲我的項目使用cakephp框架。在我的表單上我拿一個複選框點擊這兩個其他文本框顯示。 通過使用cakephp驗證方法我驗證表單數據,但我希望當複選框未選中,然後它避免驗證該文本框。它僅在複選框被選中時檢查。 所以plz幫助我。如何防止元素驗證
在此先感謝
你可以用你的模型beforeValidate servicecall爲,添加額外的驗證標準,該模型。
例如:
function beforeValidate($options = array())
{
if(!empty($this->data['Model']['fieldOne']))
$this->validate['fieldTwo'] = array(/*normal validation rules*/);
return true; // Needed or validation fails
}
您可以使用custom validation methods:
var $validate = array(
'checkbox1' => 'checkboxRule'
);
// If checkbox1 is checked, requires checkbox2 to be checked as well
function checkboxRule() {
if (!empty($this->data[$this->alias]['checkbox1'])) {
return !empty($this->data[$this->alias]['checkbox2']);
}
return true;
}
您也可以在您的自定義的方法調用$this->invalidate('checkbox2')
無效等領域,像checkbox2
,在同一時間。
此外,您還可以取消設置驗證在你的控制器是這樣的:
unset($this->Model->validate);
感謝 但它阻止所有模型的驗證element.and我想防止選擇 – 2010-08-06 04:53:28