【问题标题】:Yii2 validate Bank Account number and Routing numberYii2 验证银行帐号和路由号码
【发布时间】:2015-12-01 11:32:36
【问题描述】:

我想验证Bank Account number(123456789)Routing number(434344343), 使用自定义message=>Please enter 12 digit valid account number.(000123456789)

我使用了数字验证器,整数,但没有按预期工作。 验证器应检查值是数字以及数字长度。 我在这里查看此文档tutorial-core-validators

 public function rules()
{
    return [
      [['accountnumber'], 'number', 'min' => 12, 'max'=>12],// not wokred
      [['routingnumber'], 'number', 'min' => 9, 'max'=>9], // not wokred
// then I used
  [['accountnumber', 'routingnumber', ], 'integer'] 
]
}

有什么建议吗?

【问题讨论】:

  • 这对我有用。 ['accountnumber', 'match', 'pattern'=> '/^[0-9]{12}$/i', 'message'=> 'Please enter 12 digit valid account number.(000123456789)' ],
  • ['routingnumber', 'match', 'pattern'=> '/^[0-9]{9}$/i', 'message'=> 'Please enter 9 digit valid routing number.(110000000)' ],
  • 这与您的问题无关。您是否使用帐号、帐户名称和路由号码关联了银行帐户?如果你这样做了?那么如何,如果没有,那么我该怎么做呢?这可能是一个愚蠢的问题。

标签: yii2 yii2-validation


【解决方案1】:

minmax 参数用于,而不是长度,也许你应该保存为字符串。

['accountnumber', 'string', 'length' => [12, 12]

并且还要添加一个正则表达式:

['accountnumber', 'match', 'pattern' => '/^[0-9]*$/i']

【讨论】:

  • 让我检查一下,我认为你的第二行代码可以工作
  • @MuhammadShahzad 我无法检查,但正确的代码不会有太大不同。
  • 这对我有用。 ['accountnumber', 'match', 'pattern'=> '/^[0-9]{12}$/i', 'message'=> 'Please enter 12 digit valid account number.(000123456789)' ],
【解决方案2】:

试试这个:

public function rules()
{
return [
  [['accountnumber'], 'string', 'min' => 12, 'max'=>12, 'message' => "Please enter 12 digit valid account number"],
  [['routingnumber'], 'string', 'min' => 9, 'max'=>9], 
  [['accountnumber', 'routingnumber', ], 'integer'], 
 ]
}

【讨论】:

    【解决方案3】:

    最小、最大数量验证

     public function rules(){
            return [
                [['accountnumber'],'number','min'=>10],
                [['accountnumber'],'number','max'=>100],
                [['accountnumber'],'number','min'=>10,'max'=>100],
            ];
        }
    

    最小、最大字符串验证

    public function rules(){
        return [
            [['min_string'],'string','min'=>10],
            [['max_string'],'string','max'=>10],
            [['min_max_string'],'string','min'=>5,'max'=>10],
            ['min_max_string2', 'string', 'length' => [4, 10]],
        ];
    }
    

    自定义验证

    public function rules(){
        return [
            ['custom_validation','custom_function_validation', 'values'=>['One', 'Two']],
        ];
    }
    public function custom_function_validation($attribute, $params){
        // add custom validation
        if (!in_array($this->$attribute, $params['values'])) 
            $this->addError($attribute,'Custom Validation Error');
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-18
      • 1970-01-01
      • 2012-09-27
      • 2021-01-26
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 2021-11-09
      • 2019-02-15
      相关资源
      最近更新 更多