Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript laravel-基于droplist修改验证规则_Javascript_Laravel_Laravel Validation_Laravel Form - Fatal编程技术网

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

Javascript laravel-基于droplist修改验证规则,javascript,laravel,laravel-validation,laravel-form,Javascript,Laravel,Laravel Validation,Laravel Form,我有一个表单,其中有多个字段,包括国家和价格 目前我只有两个国家。一种货币格式有两位小数,另一种货币格式有三位小数 我必须根据选择的国家验证价格输入?我怎样才能做到这一点。我知道我应该使用JS来检测国家选择的变化,但我不确定如何应用更新的规则 这里是规则 public function rules() { return [ 'email' => 'required|email|unique:users,email', 'username' =>

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

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

我必须根据选择的国家验证价格输入?我怎样才能做到这一点。我知道我应该使用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})?$/'

    ];
}

我正在使用并且正在使用
{!!JsValidator::formRequest('App\Http\Requests\StoreBlogPostRequest',“#我的表单”);!!
我的问题是,我的所有字段都在同一个表单中。如何才能更新规则?

创建一个扩展
\illumb\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;
        }
    }
}
然后,您可以通过将类和方法传递给验证器外观的extend方法来注册上述自定义验证规则。这应该放在
App/Providers/AppServiceProvider.php的
boot()
方法中

public function boot()
{
    Validator::extend('foo', 'FooValidator@validate');
}
然后在验证规则中实现它

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

创建一个扩展
\illumb\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;
        }
    }
}
然后,您可以通过将类和方法传递给验证器外观的extend方法来注册上述自定义验证规则。这应该放在
App/Providers/AppServiceProvider.php的
boot()
方法中

public function boot()
{
    Validator::extend('foo', 'FooValidator@validate');
}
然后在验证规则中实现它

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

请包含您的代码,否则此问题将面临关闭的风险。您可以在处理表单本身的函数中定义验证规则,只需测试droplist的值,然后使用适当的规则。我已经包含了验证规则。。它不包括价格规则,该规则需要以下跌的价值为基础-list@James我在blade.php脚本部分使用了“{!!JsValidator::formRequest('Vanguard\Http\Requests\Material\CreateMaterialRequest','#Material form')!!}”。我在上面粘贴了它。您可以。请包含您的代码,否则此问题将面临关闭的风险。您可以在处理表单本身的函数中定义验证规则,只需测试滴列表的值,然后使用适当的规则。我已包含验证规则。。它不包括价格规则,该规则需要以下跌的价值为基础-list@James我在blade.php脚本部分使用了“{!!JsValidator::formRequest('Vanguard\Http\Requests\Material\CreateMaterialRequest','#Material form')!!}”。我在上面粘贴了它。你可以。我得到了这个错误
LOG.error:exception'BadMethodCallException'和message'Method[validateCurrency]不存在。'in/home/dmsheraz/public_html/demo/vendor/laravel/framework/src/illumb/Validation/Validator.php:2997
我收到此错误
LOG.error:exception'BadMethodCallException'with message'方法[validateCurrency]不存在。'in/home/dmsheraz/public_html/demo/vendor/laravel/framework/src/illumb/Validation/Validator.php:2997