当前位置: 首页 > 知识库问答 >
问题:

如果增值税编号无效,如何显示验证消息?(errors变量为空)

沈弘文
2023-03-14

我有这个代码,$vatValidator验证增值税编号。$validator验证其他请求数据。

例如,如果用户不为名称字段插入值,则会出现验证错误:

{success:false,…}错误:{name:[“填充所有字段”。]}成功:false

但是,如果用户为vat插入无效值,则不会出现验证消息,因为在响应中错误为空:

{success: false, errors: []} errors :[]

您知道当增值税号码不正确时如何显示消息吗?类似“vat无效”的消息。

$vatValidator = VatValidator::validateFormat($request->country . $request->vat);
$validator = Validator::make($request->all(), $rules, $messages);

$errors = $validator->errors();
$errors = json_decode($errors);

if ($validator->fails() || $vatValidator == false) {
    return response()->json([
        'success' => false,
        'errors' => $errors
    ], 422);
}

完整方法:

 public function storeInfo(Request $request, $id, $slug = null, Validator $validator){
        ...

        $rules = [];
        $messages = [];

        if ($all) {
            $rules["name.*"] = 'required|max:255|string';
            $rules["surname.*"] = 'required|max:255|string';
        }

        $vatValidator = VatValidator::validateFormat($request->country . $request->vat);
        $validator = Validator::make($request->all(), $rules, $messages);


        $errors = $validator->errors();
        $errors = json_decode($errors);

        if ($validator->fails() || $vatValidator == false) {
            return response()->json([
                'success' => false,
                'errors' => $errors
            ], 422);
        }

        if ($validator->passes()) {

        }
        return response()->json([
            'success' => true,
            'message' => 'success'
        ], 200);

    }

共有2个答案

楚昊明
2023-03-14
$errors = $validator->messages();
$errors->merge($vatValidator->messages())

变量$error包含所有错误消息

夔庆
2023-03-14

您可以使用闭包进行验证:

$rules['vat'] = [
    function ($attr, $value, $fail) use ($request) {

        if (!VatValidator::validateFormat($request->country . $request->vat)) {
            $fail('Invalid vat.');
        }

    }
];
 类似资料:
  • 问题内容: 使用JSF1.2,如果我的数据表绑定没有返回任何行,我想显示一条消息。 我怎么做? 还有一些要点-如果表为空,如何完全隐藏表? 谢谢。 问题答案: 利用该属性。它接受一个布尔表达式。您可以借助EL的关键字在表达式内评估数据表的值。如果返回,则不会渲染整个组件(及其子组件)。 对于您感兴趣的情况,以下是一些其他基本示例,说明如何利用属性内的EL功率: 也可以看看: Java EE 7教程

  • 我试图让我的javascript验证电话号码输入,并在用户输入信息不正确时显示消息。我还设置了另外两个输入,所以我复制了其中一个,并用phoneNumber替换了名称,但没有结果。没有HTML的替代品,请它是我必须使用我的评估。 这里我只包含了电话号码输入的代码。http://jsfiddle.net/29ZNV/ 超文本标记语言 JAVASCRIPT

  • 问题内容: 以下AngularJS应用程序正在使用ng-repeat和已应用的过滤器。某个应用的过滤器不会留下任何值。如何显示通知? js小提琴 的HTML AngularJS 问题答案: 我认为这是您想要的: 链接 这是另一个FIDDLE LINK,请检查此

  • 如果值为空,则需要在单元格中显示一个不间断的空格。这是我的模板: 我试过这个,但不管用: 它返回值的问题是: 如果许可证号带有值,则单元格为空,行颜色如下所示。 利用卢库马的建议,它表明了这一点: 更改筛选器中的if语句后,仍然不显示非值:

  • 我正在努力进行Hibernate验证和自定义错误消息。在我的例子中,我有注册表单和消息包的简单验证。我试图使用这些消息,但每当出现错误时,它们都会在页面上显示为{error.identifier}。我调试了代码,发现此消息已传递给描述下面的Errors对象。请帮忙。我到处找。 页面截图 以上信息由Thymeleaf编写 注册表格。java: 项目结构:项目结构截图pom。xml: 此外,我还添加了

  • 我在ReactJS中工作,我通过API从服务器获取数据。我做了一些搜索过滤,我想显示消息,如果没有记录可用?我是ReactJS的初学者,没有太多关于ReactJS的知识。 代码: