代码之家  ›  专栏  ›  技术社区  ›  Nana Partykar

在名称中包含模式后必填字段无效-Yii2

  •  1
  • Nana Partykar  · 技术社区  · 8 年前

    我正在经历尴尬的局面。

    所有规则都运行良好,除了 required 字段,用于 first_name .

    '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 在规则中。如果我删除或注释 图案 规则,它是有效的。

    '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'],
    

    我的动机是不允许任何 space , number special character 除了 ' .而且,这个模式规则运行得很好,正如我所希望的那样。但是,唯一的问题是现在不需要 必修的 规则

    欢迎提供任何帮助/提示/建议。

    1 回复  |  直到 8 年前
        1
  •  1
  •   ScaisEdge    8 年前

    似乎您正在重新定义/覆盖密钥 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'],