系统需要服务器端验证,例如验证编码的唯一性等等
rails中ActiveRecord就自带了很多验证方法
例如以下这两个界面元素
{
fieldLabel: '编码',
name: 'employer[code]',
value:'<%= @employer.code %>',
allowBlank:false
},{
fieldLabel: '姓名',
name: 'employer[name]',
value:'<%= @employer.name %>',
allowBlank:false
}
保存的时候需要根据服务器端返回来数据标注哪个控件验证错误,代码如下:
def create
@employer = Employer.new(params[:employer])
result = Hash.new
if @employer.save
result[:success]=true
else
result[:success]=false
result[:errors] ={}
@employer.errors.each{|k,v| result[:errors]["employer[#{k}]"] = v }
result[:message]="错误,不能保存"
end
render :text => result.to_json(),:layout=>false
end
要点:返回的json中有个errors属性,里面的key是控件的name属性,value是错误提示信息

本文介绍Rails中如何使用ActiveRecord进行验证,并通过JSON反馈验证错误信息到前端。具体包括两个界面元素的设置,以及服务器端如何捕捉这些错误并正确地返回给客户端。
113

被折叠的 条评论
为什么被折叠?



