在控制器的form方法中创建表单,如果使用了 if( $form->isCreating() ){ 表单,验证 } ,表单验证不起作用

  1. 运行环境

windows
1). 当前使用的 Laravel 版本?

Laravel Framework 7.30.6
2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.4
3). 当前系统

Windows 11
4). 业务环境

开发环境

  1. 问题描述?
    在控制器的form方法中创建表单,如果使用了 if( $form->isCreating() ){ 表单,验证 } ,表单验证不起作用?
    if ($form->isCreating()) {
    $form->text(‘phone’, ‘客户电话’)
    ->placeholder(‘请输入电话’)
    ->rules([‘required’, ‘regex:/^[1][3,4,5,7,8][0-9]{9}$/‘, “unique:customers,phone,{{id}}”], [
    ‘required’ => ‘联系电话必填’,
    ‘regex’ => ‘联系电话格式不正确’,
    ‘unique’ => ‘联系电话必须唯一’,
    ]);
    }
    如果我把判断的条件修改掉,或者把验证放到if的外层,就可以起作用。
    我把$form->isCreating() 赋值给一个变量,然后再去判断这个变量,表单验证还是不起作用,什么原因呢?
    我查看了一下代码,没有找到原因,谁知道什么原因请解答下,非常谢谢
    if (true ) {
    $form->text(‘phone’, ‘客户电话’)
    ->placeholder(‘请输入电话’)
    ->rules([‘required’, ‘regex:/^[1][3,4,5,7,8][0-9]{9}$/‘, “unique:customers,phone,{{id}}”], [
    ‘required’ => ‘联系电话必填’,
    ‘regex’ => ‘联系电话格式不正确’,
    ‘unique’ => ‘联系电话必须唯一’,
    ]);
    }

只要条件不是$form->isCreating()
或者 $isCreating = $form->isCreating()
表单验证就有效。

附言 1  ·  2年前

if($form->isCreating ()){
//在这里不可以写验证,
//忽略提交字段
//不可以写表单回调
}

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

laravel admin 还是 Dcat admin ? 看文档 表单验证《Dcat Admin 中文文档》

2年前 评论
wangjianjian (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!