在名称中包含模式后必填字段不起作用 - Yii2

Required field not working after including pattern in name - Yii2

我正在经历尴尬的境地。

first_namerequired 字段外,所有规则都正常工作。

'FirstNameLength' => ['first_name', 'string', 'min' => 3, 'tooShort'=>'First name should contain atleast 3 character'],
'FirstNameTrim' => ['first_name', 'filter', 'filter' => 'trim'],
'FirstNameRequired' => ['first_name', 'required','message'=>'* First name is required'],
'FirstNameRequired' => ['first_name','match','pattern'=>"/^[a-zA-Z']+$/",'message' => '* First Name can only contain alphabets charater'],

而且,它是在规则中包含 pattern 之后发生的。如果我删除或评论 pattern 规则,它会起作用。

'FirstNameLength' => ['first_name', 'string', 'min' => 3, 'tooShort'=>'First name should contain atleast 3 character'],
'FirstNameTrim' => ['first_name', 'filter', 'filter' => 'trim'],
'FirstNameRequired' => ['first_name', 'required','message'=>'* First name is required'],
//'FirstNameRequired' => ['first_name','match','pattern'=>"/^[a-zA-Z']+$/",'message' => '* First Name can only contain alphabets charater'],

我的动机是不允许 spacenumberspecial character 除了 '。而且,这种模式规则可以按照我的意愿正常工作。但是,唯一的问题是现在它没有采用 required 规则。

欢迎任何Help/Hints/Suggestions。

看来你是redefining/overrider关键FirstNameRequired那么最后一个覆盖前面的..

我建议您对验证规则使用普通符号(没有 FirstNameRequired 键

['first_name', 'required','message'=>'* First name is required'],
['first_name','match','pattern'=>"/^[a-zA-Z']+$/",'message' => '* First Name can only contain alphabets charater'],