CakePHP3中的条件表单验证
我想验证validationDefault()函数中的一些字段,但不完全是因为条件,但没有找到任何解决方案 例如:CakePHP3中的条件表单验证,php,validation,cakephp,cakephp-3.0,Php,Validation,Cakephp,Cakephp 3.0,我想验证validationDefault()函数中的一些字段,但不完全是因为条件,但没有找到任何解决方案 例如: public function validationDefault(Validator $validator) { $validator ->requirePresence('title', 'create') ->notEmpty('title'); $validator -&
public function validationDefault(Validator $validator) {
$validator
->requirePresence('title', 'create')
->notEmpty('title');
$validator
->requirePresence('inquiry')
->allowEmpty('inquiry');
$validator
->requirePresence('dosage')
->allowEmpty('dosage');
$validator
->requirePresence('dosage_occurance')
->integer('dosage_occurance')
->allowEmpty('dosage_occurance');
return $validator;
}
注:来自两种不同形式的响应首先包含(标题和查询)其他包含(标题、剂量和剂量发生)。
我想从validationDefault()验证它,但它给了我一个错误
"dosage_occurance": {
"_required": "This field is required"
}
当我没有发送正确的但根据情况是错误的事件时。
在创建新实体时使用fieldList,但它不起作用。
谢谢您需要条件验证 摘自文件: 定义验证规则时,可以使用on键定义何时应用验证规则。如果未定义,则始终应用该规则。其他有效值为create和update。使用这些值之一将使规则仅应用于创建或更新操作 例如,请注意部分的
$validator->add('picture', 'file', [
'rule' => ['mimeType', ['image/jpeg', 'image/png']],
'on' => function ($context) {
return !empty($context['data']['show_profile_picture']);
}
]);
使用不同的验证集谢谢,是的,我可以使用不同的验证集,但我认为这不是正确的解决方案,fieldList可能是一个解决方案,但没有找到任何相关内容阅读文档有什么问题?习惯于阅读整个文档页面,而不仅仅是片段。它也在右边的页面内容列表中。