javascript - Laravel 数组的 Jquery 选择器验证错误

标签 javascript jquery laravel-5

我尝试使用 jQuery 自动显示 Laravel 5.5 Ajax 错误验证,

当对于单个字段有效时,使用以下代码:

$.each(response.errors, function (key, value) {
    el.find('input[name="'+key+'"] , select[name="'+key+'"] , textarea[name="'+key+'"]').parent().append('<div class="error right-align pink-text text-mute">'+value+'</div>');
}); 

上面的代码将根据选择器向每个元素附加一条错误消息。

但是如果我使用数组字段,例如 <input type="text" name="start_date[]" /> 然后我得到以下错误验证:

{"message":"The given data was invalid.","errors":{"start_date.0":["The start_date.0 field is required when availability is 0."],"start_date.1":["The start_date.1 field is required."],"end_date.0":["The end_date.0 field is required."],"end_date.1":["The end_date.1 field is required."]}}

所以我的 JavaScript 找不到元素 start_date.0

如何使用 jQuery 和该响应来选择元素? (开始日期.0,开始日期.1)

最佳答案

感谢大家的回答,我通过使用 id 属性结束了这个问题,所以我的 html 标签应该是这样的 <input type="text" id="start_date.0" name="start_date[]" />

因为 jquery 不允许使用点“.”选择器中的模式,我的选择器应该是这样的 el.find('input[id="select_date.0"]')

所以我的代码应该是:

$.each(response.errors, function (key, value) {
    el.find('input[id="'+key+'"],input[name="'+key+'"] , select[name="'+key+'"] , textarea[name="'+key+'"]').parent().append('<div class="error right-align pink-text text-mute">'+value+'</div>');
}); 

关于javascript - Laravel 数组的 Jquery 选择器验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46864251/

相关文章:

javascript - 将连续调用的函数中的值保存到数组中

javascript - .click 在 jquery 上无法正常工作

jquery - 如何为现有类(wordpress)增加更多值(value)?

java - 加载本地文件时android webview不执行javascripts

laravel - 处理返回空值的belongsTo()

php - 如何在 Laravel 5 中使用 where 条件获取数据列表

mysql - Laravel 的 ORM 如何指定数据的排序值?

javascript - 不透明度淡化仅在延迟时有效

javascript - 需要在Javascript中编写正则表达式

javascript - 如何从 WordPress 中的 ajax 处理程序调用我主题的 functions.php 中的方法?