You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8如何实现数据表存在校验与固定格式ID验证规则

实现方案

一、修改store_notamasuk方法验证逻辑

给namabarang_supplier字段追加Laravel内置的exists验证规则,即可校验输入值是否存在于指定表的对应字段:

  • 验证规则追加exists:Barang,namabarang
  • 新增对应的印尼语错误提示即可

修改后完整代码如下:

Request()->validate([
        'namabarang_supplier' => 'required|exists:Barang,namabarang',
        'jumlahbarang_supplier' => 'required|numeric|min:1',
    ],[
        'namabarang_supplier.required' => 'Nama barang wajib diisi!',
        'namabarang_supplier.exists' => 'Nama barang tidak terdaftar di sistem!',
        'jumlahbarang_supplier.required' => 'Jumlah barang wajib diisi!',
        'jumlahbarang_supplier.numeric' => 'Jumlah barang harus angka!',
        'jumlahbarang_supplier.min' => 'Jumlah barang minimal 1!',
    ]);

提示:如果你的Barang模型对应数据库表名不是Barang,请把exists规则里的表名替换成实际的表名即可。

二、修改store_barang方法验证逻辑

给kodebarang字段追加regex正则验证规则,匹配你要求的XXXX-0000格式:

  • 正则规则使用/^[A-Z]{4}-[0-9]{4}$/,可精准匹配前4位大写英文字母、中间半角横杠、后4位数字的格式
  • 为了避免正则中的特殊字符和Laravel验证规则的分隔符|产生解析冲突,建议把kodebarang的验证规则改为数组形式
  • 新增对应的格式错误提示即可

修改后完整代码如下:

Request()->validate([
        'kodebarang' => [
            'required',
            'unique:Barang,kodebarang',
            'min:9',
            'max:9',
            'regex:/^[A-Z]{4}-[0-9]{4}$/'
        ],
        '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!',
        'kodebarang.regex' => 'Kode barang harus berformat XXXX-0000 (4 huruf kapital di depan, 4 angka di belakang dipisahkan tanda hubung)!',
        '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!',
    ]);

内容的提问来源于stack exchange,提问作者Pup In The Tree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 14:36:02