系统需要服务器端验证,例如验证编码的唯一性等等
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是错误提示信息