gpt4 book ai didi

javascript - laravel - 基于 droplist 修改验证规则

转载 作者:行者123 更新时间:2023-12-02 14:55:34 24 4
gpt4 key购买 nike

我有一个表单,其中有多个字段,包括国家/地区和价格。

目前我只有两个国家。一种货币格式具有两位小数,另一种具有三位小数。

我必须根据所选国家/地区验证输入的价格吗?我怎样才能做到这一点。我明白我应该使用 JS 来检测国家/地区选择的更改,但我不确定如何应用更新后的规则?

规则如下

public function rules()
{
return [
'email' => 'required|email|unique:users,email',
'username' => 'unique:users,username',
'password' => 'required|min:6|confirmed',
'birthday' => 'date',
'factory' => 'required|exists:factories,id',
'country' => 'required|exists:countries,id',
'category' => 'required',
'rm_code' => 'required',
'cost_basis' => 'required',
'supplier' => 'required',
'po_number' => 'required',
'qty' => 'required|number|regex:^[1-9]\d*$',
'purchase_date' => 'date',
'received_date' => 'date',
'price'=>'required|regex:/^\d*(\.\d{1,3})?$/'

];
}

我正在使用Laravel 5 Javascript Validation并使用 {!! JsValidator::formRequest('App\Http\Requests\StoreBlogPostRequest', '#my-form'); !!} 我的问题是我的所有字段都采用相同的形式。我怎样才能更新规则?

最佳答案

创建一个扩展 \Illuminate\Validation\Validator 的类。它可以放置在应用程序中的任何位置,只需适当命名它即可。

use \Illuminate\Validation\Validator;

class FooValidator extends Validator
{
public function validate($attribute, $value, $parameters)
{
// You have access to all Input data.
var_dump($this->data);

// Check the country and the decimals in the price.

if(VALIDATION_PASSES) {
return true;
} else {
return false;
}
}
}

然后,您可以通过将类和方法传递给 Validator Facade 的扩展方法来注册上述自定义验证规则。这应该放在 App/Providers/AppServiceProvider.phpboot() 方法中。

public function boot()
{
Validator::extend('foo', 'FooValidator@validate');
}

然后在您的验证规则中实现它。

public function rules()
{
return [
'price'=>'foo'
];
}

关于javascript - laravel - 基于 droplist 修改验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com