我的模型中有以下代码。
'uniqueNameRule' => array(
'rule' => 'isUnique',
'required' => true,
'allowEmpty' => false,
'on' => 'create', // here
'last' => false,
'message' => 'name already exists'
)
上面的代码验证了字段名称,但是当我尝试插入新名称时它没有保存它,这意味着每次都会显示验证消息。
我试图找出这一点并发现'on' => 'create',
正在创建问题。请帮助我谢谢。
答案 0 :(得分:0)
确保以正确的方式设置验证:
public $validate = array(
'column_name' => array(
'uniqueNameRule' => array(
'rule' => 'isUnique',
'required' => true,
'allowEmpty' => false,
'on' => 'create', // here
'last' => false,
'message' => 'name already exists'
)
)
);
'on' => 'create',
行告诉cakePhp,只有在创建新寄存器时才必须执行验证。如果要更新现有寄存器,则根本不会执行验证。
此外,检查验证错误是否未在另一个验证块上运行,因为您设置了'last' => false
,这意味着尽管此规则失败,验证仍将继续。
答案 1 :(得分:0)
如果您在验证中发出isUnique规则。您可以使用多值可录行为。以下是完整的示例如何使用请访问以下链接。
由于