#php #laravel #validation #laravel-8
Вопрос:
В Laravel 8 у меня есть проверка для хранения подобных данных в общедоступной функции store_notamasuk:
Request()->validate([
'namabarang_supplier' => 'required',
'jumlahbarang_supplier' => 'required|numeric|min:1',
],[
'namabarang_supplier.required' => 'Nama barang wajib diisi!',
'jumlahbarang_supplier.required' => 'Jumlah barang wajib diisi!',
'jumlahbarang_supplier.numeric' => 'Jumlah barang harus angka!',
'jumlahbarang_supplier.min' => 'Jumlah barang minimal 1!',
]);
И у меня есть проверка для хранения подобных данных в общедоступной функции store_barang:
Request()->validate([
'kodebarang' => 'required|unique:Barang,kodebarang|min:9|max:9',
'namabarang' => 'required',
'hargapenjualan' => 'required|numeric|min:1',
'hargapembelian' => 'required|numeric|min:1',
],[
'kodebarang.required' => 'Kode barang wajib diisi!',
'kodebarang.unique' => 'Kode barang ini sudah ada!',
'kodebarang.min' => 'Kode barang harus 9 karakter dengan "-" di tengahnya!',
'kodebarang.max' => 'Kode barang harus 9 karakter dengan "-" di tengahnya!',
'namabarang.required' => 'Nama barang wajib diisi!',
'hargapenjualan.required' => 'Harga penjualan wajib diisi!',
'hargapenjualan.numeric' => 'Harga penjualan harus angka!',
'hargapenjualan.min' => 'Harga penjualan tidak boleh 0 atau kurang dari 0!',
'hargapembelian.required' => 'Harga pembelian wajib diisi!',
'hargapembelian.numeric' => 'Harga pembelian harus angka!',
'hargapembelian.min' => 'Harga pembelian tidak boleh 0 atau kurang dari 0!',
]);
В общедоступной функции store_notamasuk я хочу проверить namabarang_supplier помимо требуемого, я хочу выполнить проверку, если они не найдены в таблице Barang (столбец namabarang), происходит так, что то, что я ввел, не найдено.
В общедоступной функции store_barang я хочу проверить кодебаранг помимо подобного этого кода, я хочу проверить кодебаранг (идентификатор), его формирование должно быть таким: XXXX-0000 (где XXXX не является числом и должен быть буквенным и прописным, а 0000 не является буквой и должен быть пронумерован)
Как я могу это сделать? Я все еще не понимаю, как это сделать
Ответ №1:
Добавьте это правило в свое kodebarang
поле: regex:/[A-Z]{4}-d{4}/
Для этого потребуется, чтобы первые четыре символа были A-Z (нижний регистр не пройдет), затем -
символ, затем 4 цифры.
Что касается namabarang_supplier
поля, я не совсем понимаю ваши требования, но, похоже, вы хотите, чтобы проверка завершилась неудачей, если ввод, который они предоставляют, не найден в Barang
таблице при поиске по ее namabarang
столбцу. Если это правильное понимание, то вот правило, которое вы должны использовать для этого поля: exists:Barang,namabarang
.
Ответ №2:
В проверке laravel существует проверка шаблона регулярных выражений для определенного типа шаблона. Вы можете это проверить. Документы