【发布时间】:2016-06-20 12:37:39
【问题描述】:
我有一个表单,其中有多个字段,包括国家和价格。
目前我只有两个国家。一种具有两位小数的货币格式,另一种具有三位小数。
我必须根据所选国家/地区验证输入的价格吗?我怎样才能做到这一点。我知道我应该使用 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'); !!} 我的问题是我的所有字段都采用相同的形式。如何更新规则?
【问题讨论】:
-
请包含您的代码,否则此问题可能会被关闭。
-
您可以在处理表单本身的函数中定义验证规则,并测试下拉列表的值,然后使用适当的规则。
-
我已经包含了验证规则。它不包含需要基于下拉列表值的价格规则
-
@James 我正在使用`{!! Blade.php 脚本部分中的 JsValidator::formRequest('Vanguard\Http\Requests\Material\CreateMaterialRequest', '#material-form') !!}``。我粘贴在上面。
标签: javascript laravel laravel-validation laravel-form