我正在执行一个 ajax 请求,如果验证失败,则会向用户显示一条错误消息。
但是,用户也可以在控制台中看到错误消息。例如,如果用户没有完成其中一个字段,在控制台中,它会显示以下内容:
Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)
我不想让他们看到错误。我怎样才能防止他们看到这样的错误以及控制台中的其他错误,如 501 错误和其他东西。我只是想显示一条警告说“发生错误”。我不想在控制台中显示任何内容。
我当前的 AJAX 代码:
(function ($) {
$('#settingsForm').submit(function (e) {
$.ajax({
type: "POST",
dataType: 'JSON',
url: '/settings',
data: $('#settingsForm').serialize(),
beforeSend: function () {
},
success: function (data) {
message(data);
},
error: function (data) {
if (data.status === 422 ) {
var errors = $.parseJSON(data.responseText);
errorsHtml = '<div class="alert alert-danger"><ul>';
$.each(errors, function (index, value) {
errorsHtml += '<li>' + value + '</li>';
});
errorsHtml += '</ul></div>'
$('#status_settings').html(errorsHtml);
}
}
})
;
e.preventDefault();
})
;
})
(window.jQuery);
最佳答案
看起来您正在使用 Laravel 表单请求验证,它发送一个 422 状态代码表示验证失败以及如果 AJAX 表单提交时的错误。您现在可以做两件事来更改状态代码并从控制台删除错误消息(仅在这种情况下):
覆盖 vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php 中的响应函数,并在新函数中将状态代码更改为 200。从那里复制函数并将其粘贴到 app/Http/Requests/Request.php 中的 Request 类中。 更改以下行
return new JsonResponse($errors, 422);
像这样:
$errors['状态'] = '错误';
返回新的 JsonResponse($errors, 200);
不使用表单请求验证,而是创建一个 Validator在 Controller 函数中验证实例并返回 JSON response验证失败并返回 200 状态码。
关于php - Laravel - 防止错误显示在控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139234/
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c