具有多个属性的 Laravel 请求验证自定义函数

简福克斯

我目前正在从事一个项目,投标需要填写 API 凭据。我想在保存之前确保凭据没问题。

我想制定一个自定义验证规则,我使用用户名和密码来调用 API,以检查凭据是否正确。我可以将验证规则添加到 api_username,但是由于受保护的 $validator->data 属性,我无法获取密码。

有人可以帮我解决这个问题吗?

public function rules()
{
    return [
        'title' => 'required|string',
        'api_username' => 'required|string|min:32|max:32|api_cred_check',
        'api_password' => 'required|string|min:32|max:32',
    ];
}

public function withValidator($validator)
{
    $validator->addExtension('api_cred_check', function ($attribute, $value, $parameters, $validator) {
        //Use credentials to make call to API.
    });

    $validator->addReplacer('api_cred_check', function ($message, $attribute, $rule, $parameters, $validator) {
        //Message if Username and Password won't match.
    });
}
穆迪古尔古利亚

您还可以像这样使用 clouser 作为自定义验证

public function rules()
{
    return [
        'title' => 'required|string',
        'api_username' => ['required', 'string', 'min:32', 'max:32', function ($attr, $value, $fail) {
            // You can use guzzle Http here to make an API call 
        }],
        'api_password' => ['required', 'string', 'min:32', 'max:32', function ($attr, $value, $fail) {
            // You can check if Username and Password is wrong.
        }],
    ];
}

使用最后一个参数 $fail 作为函数 $fail('如果验证失败,则显示您想要的消息。');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Laravel表单验证中为多个字段设置一条自定义消息

在Laravel 5中使用表单请求验证时如何添加自定义验证规则

使用表单请求特定的自定义验证属性

具有多个自定义属性的PowerShell方法

关于Laravel中多个字段的唯一性的自定义验证

Laravel 5.4-如何对同一自定义验证规则使用多个错误消息

具有自定义外键的Laravel多态

Laravel 5.5在验证请求文件中使用自定义验证规则?

Laravel自定义验证消息,用于多个具有相同名称的字段

Laravel 5.3在自定义验证规则中设置第二个属性名称

Laravel具有多个自定义数据透视表的多对多关系?

Laravel 403禁止自定义请求验证

具有自定义键的Laravel多态关系

Laravel在表单请求验证中的“唯一”自定义消息验证

Laravel 5.7具有多个参数的自定义URL

具有API令牌的Laravel自定义表

如何设置Laravel验证而不是数字键的自定义属性?

Laravel自定义原始查询具有

对Firebase的多个自定义身份验证请求失败

如何使用自定义请求验证laravel数组?

在Laravel验证程序中为嵌套属性使用自定义错误消息

Laravel自定义请求验证的CameCase模型

Laravel 表单请求数组验证自定义规则

具有自定义属性的 laravel 集合方法

Laravel 5.7:表单验证的自定义属性不起作用

如何有条件地验证 Laravel 中的自定义规则?

Laravel Backpack 自定义验证多个属性

具有多个条件的 Laravel 请求验证 required_if

自定义登录属性 Laravel 8