非Laravel项目中集成使用 Illuminate\Validation

发布于 2022-09-04 20:39:09 字数 149 浏览 8 评论 0

https://packagist.org/package...
通过composer安装后 怎么在别的项目中使用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烦人精 2022-09-11 20:39:09
$input = [  'title' => $request->get('title'),
            'description' => $request->get('description'),
            'urls' => $request->get('urls'),
            'method' => $request->get('method'),
            'status' => 1,
            'created_at' => time(),
            'updated_at' => time()
        ];
        $rules = ['title' => 'required|string|min:2|max:12', 'urls' =>'required|string' ,'method'=>'required'];
        $messages = [
            'required' => ':attribute field is required.',
            'min' => ':attribute 最小长度为:min.',
            'max' => ':attribute 最大长度为:max.',
        ];
        $attributes = [
            'title' => '权限名称'
        ];
        $validator = Validator::make($input, $rules, $messages, $attributes);
        if ($validator->fails()) {
            return response()->json(['success' => false, 'reason' => $validator->messages()->first()]);
        }
暗恋未遂 2022-09-11 20:39:09

刚好,我在用这个包,简单说下吧

自定义规则

        Validator::addRule('validateIntro' , function( $fied ,$value) use ($screeRow) {
            return ( $screeRow != '1' && $value >= 0 );
        },"{$fied} 填写不正确  ");  

使用简单直接。只需提供一个你想验证的数据数组,添加一些规则,然后调用validate()。如果有任何错误,您可以调用errors()获取它们

$v = new Valitron\Validator(array('name' => 'Chester Tester'));
$v->rule('required', 'name');
if($v->validate()) {
    echo "Yay! We're all good!";
} else {
    // Errors
    print_r($v->errors());
}

使用此格式,您可以$_POST直接且轻松地验证数据,甚至可以将规则应用于required字段数组:

$v = new Valitron\Validator($_POST);
$v->rule('required', ['name', 'email']);
$v->rule('email', 'email');
if($v->validate()) {
    echo "Yay! We're all good!";
} else {
    // Errors
    print_r($v->errors());
}

您可以使用点语法访问多维数组的成员,并使用星号来验证数组的每个成员:

$v = new Valitron\Validator(array('settings' => array(
    array('threshold' => 50),
    array('threshold' => 90)
)));
$v->rule('max', 'settings.*.threshold', 100);
if($v->validate()) {
    echo "Yay! We're all good!";
} else {
    // Errors
    print_r($v->errors());
}

在全球设置语言和语言dir:

use Valitron\Validator as V;

V::langDir(__DIR__.'/validator_lang'); // always set langDir before lang.
V::lang('ar');
Built-in Validation Rules
required - 必填项目
equals - 字段必须与其他字段匹配(电子邮件/密码确认)
different - 字段必须与另一个字段不同
accepted - 必须接受复选框或电台(yes,on,1,true)
numeric - 必须为数字
integer - 必须是整数
boolean - 必须是布尔值
array - 必须是数组
length - 字符串必须有一定的长度
lengthBetween - 字符串必须在给定的长度之间
lengthMin - 字符串必须大于给定长度
lengthMax - 字符串必须小于给定长度
min - 最低
max - 最大值
in - 对给定的数组值执行in_array检查
notIn- in规则的否定(不是值的数组)
ip - 有效的IP地址
email - 合法的邮件地址
url - 有效网址
urlActive - 具有活动DNS记录的有效URL
alpha - 仅限字母字符
alphaNum - 仅字母和数字字符
slug - URL slug字符(az,0-9, - ,_)
regex - 字段匹配给定regex模式
date - 字段是有效的日期
dateFormat - 字段是给定格式中的有效日期
dateBefore - 字段是有效日期,并且在给定日期之前
dateAfter - 字段是有效日期,并在给定日期之后
contains - 字段是一个字符串,包含给定的字符串
creditCard - 字段是有效的信用卡号
instanceOf - 字段包含给定类的实例
optional - 值不需要包含在数据数组中。如果是,则必须通过验证。
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文