当验证在rails中失败时,在contact us表单上显示用户输入的数据



我的控制器是:

class ContactController < ApplicationController
     def contact_us
        @cntus = params[:post]
        if @cntus != nil
            @msg="Success"
        end
     end
end

现在,当用户输入无效数据或电子邮件验证失败时,数据必须以用户输入的形式存在。

new(或edit,如果是更新)操作失败时,您需要呈现它。

@cntus = params[:post]
if @cntus != nil # check @cntus.save instead (it will validate and save)
  @msg="Success"
else
  render action: :new
end

确保您的表单是为@cntus 定义的

此外,您可以在视图中显示错误(导致保存困难的原因),如下所示:它应该在form_for 内部

<% if @cntus.errors.any? %>
  <div>
    <p>
      <%= pluralize(@cntus.errors.count, "error") %>
      </br>
      <%= formatted_error_messages(@cntus) %>
    </p>
  </div>
<% end %>

希望它能有所帮助!

最新更新