如果有人留空,等等,我怎么能发出错误通知?
我尝试了许多代码,他们要么没有工作要么失败了......我甚至安装了一颗宝石,但直到现在都没有工作......请帮助提出想法/解决方案
<div class="jumbotron"
<div class="container">
<h2>Signup</h2>
<%= form_for :user, url: '/users' do |f| %>
Número de Empregado: <br>
<%= f.number_field :NumeroEmpregado %><br>
Primeiro e Último Nome: <br>
<%= f.text_field :nome %><br>
Password: <br>
<%= f.password_field :password %><br>
Confirmação Password: <br>
<%= f.password_field :password_confirmation %><br>
<%= f.submit "Submit" %>
</div>
</div>
<% end %>
控制器:
class UsersController < ApplicationController
def new
end
def create
user = User.new(user_params)
if user.save
session[:user_id] = user.id
redirect_to '/'
else
flash[:error] = 'invalid value'
end
end
private
def user_params
params.require(:user).permit(:NumeroEmpregado, :nome, :password, :password_confirmation)
end
end
答案 0 :(得分:4)
希望它的帮助:)
答案 1 :(得分:1)
如果要在提交https://jqueryvalidation.org/documentation/之前检查字段是否为空类型验证,请使用jquery验证。点击此链接。
或者如果您可以在提交时验证字段,那么在控制器的创建或更新操作中,您可以从参数中检查该字段是否为空。然后你可以显示像这样的flash消息
flash[:notice] = 'valid value'
flash[:error] = 'invalid value'
或者您可以在此处http://guides.rubyonrails.org/active_record_validations.html
添加模型级验证答案 2 :(得分:0)
您可以使用Active Record Validations。
如果您有一个名为User的模型,那么您可以使用validates
方法指定要对状态进行验证的属性,并将presence
设置为true
,这将检查该字段在表格上已经填写,如果只有空格。
例如:
class User < ApplicationRecord
validates :nome, presence: true
...
对于您的控制器:
def create
user = User.new(user_params)
if user.save
session[:user_id] = user.id
redirect_to '/'
else
flash[:error] = 'invalid value'
redirect_to new_user_path
end
end
使用flash[:error]
重定向到新用户路径为&#34;无效值&#34;。
供您查看:
<% if flash[:error] %>
<div class="error">
<%= flash[:error] %>
</div>
<% end %>