У меня есть форма, где есть несколько полей, включая страну и цену.laravel - изменить правило валидации на основе droplist
В настоящее время у меня есть только две страны. У одного есть формат валюты с двумя десятичными знаками, а другой с тремя.
Я должен проверить правильность ввода цены на основе выбранной страны? Как я могу это достичь. Я понимаю, что я должен использовать 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'); !!}
Моя проблема заключается в том, что у меня есть все поля в той же форме. Как я могу обновлять правила?
Пожалуйста, включите ваш код или этот вопрос будет закрыт. – TylerH
Вы можете определить правила для проверки внутри функции, обрабатывающей форму, и просто проверить, какое значение имеет значение droplist, а затем использовать соответствующие правила. – James
Я включил правила проверки. Он не включает правило цены, которое должно быть основано на значении выпадающего списка – dmSherazi