【问题标题】:validating a numeric input's length in laravel 5在 laravel 5 中验证数字输入的长度
【发布时间】:2017-01-25 03:38:51
【问题描述】:

foo.blade.php

<input type="text" name="national-id" />

FooController.php

$rules = [
    'national-id' => 'required|size:10|numeric'
];

national-id 字段应该包含10digits,我实际上希望上面的代码可以验证这一点,但它会检查national-id 是否完全等于 10...
如何验证数字字段的length

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2 laravel-validation


    【解决方案1】:

    其实你不需要使用digits_between 规则。您可以使用digits rule,因此根据文档,它就足够了:

    $rules = [
        'national-id' => 'required|digits:10'
    ];
    

    没有numeric 规则,因为digits 规则还会验证给定值是否为数字。

    【讨论】:

    • 旁注:digits:10 表示:“必须正好是 10 位数字”(不少于不少)
    【解决方案2】:

    当对数字使用大小时,它会检查数字是否等于大小,在字符串上,它会检查字符的数量,对于你应该使用的数字:

    'number' => 'required|numeric|digits_between:1,10'
    

    【讨论】:

    • 你不需要使用数字
    【解决方案3】:

    在 laravel 中,数字字段的大小验证将指示它不能大于的最大整数。

    使用digits_between:

       'national-id' => 'required|digits_between:10,10|numeric' 
    

    【讨论】:

    • 这是唯一的方法吗?我认为必须有像length 这样的规则来解决这个问题
    • 工作得很好,但是当用户输入错误的值时,错误是这个(国家ID必须在10到10位之间)!
    • 你不需要使用数字
    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2023-01-24
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多