Rails提供了表单验证错误信息的输出,但是本身没有支持中文化,而且在html如想按照指定方式显示需要修改scaffold.css。开发中如果需要快速看到效果的朋友,下面有些简单的技巧供你参考。
需要完美中文化Validator的,请在Javaeye中自行搜索。
首先查看下面的代码片段:
ruby 代码
- class Diary < ActiveRecord::Base
- belongs_to :diary_category
- belongs_to :blog
- has_many :replies, :as => :replyable, :dependent => true
-
- validates_presence_of :title,
- :message => "文章主题不能为空!"
- validates_presence_of :content,
- :message => "文章内容不能为空!"
- validates_length_of :title, :in => 5..50,
- :too_long => "文章主题必须在5到50字符之间!",
- :too_short => "文章主题必须在5到50字符之间!"
- validates_length_of :content, :minimum => 15,
- :message => "文章内容必须大于15个字符!"
-
- end
片段中对验证信息进行了一些简单的中文化处理。当Diary的一个对象比如diary保存失败时,我们就可以从diary.errors中来取得错误信息集合。比如下面的controller代码:
ruby 代码
- def new_diary
- if request.get?
- @categories = @user.blog.diary_categories.collect { |category| [category.name, category.id]}
- @categories[@categories.size] = [" ", "0"]
- @categories.reverse!
- else
- @diary = Diary.new(params[:diary])
- @diary.created_time = Time.now
- @diary.blog = @user.blog
- @diary.viewer_count = 0
- if @diary.save
- flash[:message] = ["新增文章成功!"]
- redirect_to :action => :show_diaries
- else
- flash[:error] = []
- @diary.errors.each { |property, error| flash[:error] << error }
- redirect_to :action => :new_diary
- end
- end
- end
代码将diary保存失败的错误信息处理后转入flash[:error]中,这样在View中就可以通过遍历flash[:error]来使用。这里为了以后适用方便,在application_helper.rb中加入了一个帮助方法。
ruby 代码
- def message(messages)
- if messages != nil and messages.size > 0
- bulk = ""
- messages.each { |message| bulk << %{class="alarm">
- bulk << ""
- else
- ""
- end
- end
这样就能在View中通过 <!---->和 <!---->显示错误信息。如果需要定义样式,只需要修改message方法即可。
以上技巧只能解决一时只需,后期还是需要对整个Rails做中文化处理的。不过按照上述方法,可以快速在开发中看到效果,便于调整以后使用。
分享到:
- 2007-07-22 02:49
- 浏览 3442
- 评论(3)
- 论坛回复 / 浏览 (3 / 4075)
- 查看更多
相关推荐
表单验证自定义
1、验证插件支持正则表达式验证,函数验证,ajax异步验证,支持对比验证,并支持对表单的自定义属性或指定属性进行验证,应该足矣满足常用软件及网站开发需求。(可根据自己需求,手动添加验证方式) 2、插件支持...
Struts2表单验证后回显错误信息 标签使用 李顺利Struts2表单验证后的错误信息显示格式-样式大全
2、掌握Jquery-validate表单验证插件的使用,了解表单验证的实现原理 实现一个基于Jquery的表单验证插件。 1、初步运用了Jquery框架进行编程,基本掌握Jquery框架的使用。 2、熟练使用Jquery-validate表单验证插件,...
表单验证大全表单验证大全表单验证大全表单验证大全表单验证大全
关于表单验证的一些小js使用说明,以及一些利用正则表达式的简单使用。
js表单验证大全js表单验证大全js表单验证大全
C# 可以验证表单,密码,等也可以验证姓名?
表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。 Validator是基于JavaScript技术...
网上常见的用JS编写的注册表单验证的代码,非常实用哦
jquery表单验证插件
jQuery表单验证jQuery表单验证jQuery表单验证jQuery表单验证jQuery表单验证jQuery表单验证jQuery表单验证
js表单验证实例,HTML文件,javascript常用表单验证: 账号、密码、身份证等
全网最全的 表单验证, js表单验证,form表单验证,前端验证,简介验证 email URL 登陆验证
jquery表单验证代码百度注册页面表单验证
jQuery-Validation-Engine-master 表单验证插件 简单好用,已经包含汉化
插件简介:使用HTML标签属性,快速实现常用表单验证功能 JQ表单验证插件 使用方法:$.formValidate(options); version:1.6.0 @param {Object} options @param options.area 验证的区域父级元素,默认 body @param ...
在进行form表单输入数字和字母验证时,text文本框只可输入数字,并且可以输入小数点.....
JavaScript表单验证 JavaScript表单验证 JavaScript表单验证
超级容易扩展的android表单验证的小框架.比如,验证登陆模块的用户名和密码是否输入以及输入格式是否正确。验证内容自定义。 包含例子demo和使用说明doc