어떻게 표에 검증 오류 메시지를 간단하게 표시합니까
개시하다
rails tutoral 등 사이트에서는 검증을 통해 검증된 오류 정보가 위와 같이 총괄적으로 표시되지만 표마다 쉽게 볼 수 있기 때문에 응용 프로그램 helper로 실현하고자 합니다.
또 잘못된 정보와 열명은 일본어화할 수 있는 상태였지만 방법에 대한 다양한 보도가 있었기 때문에 이번에는 언급하지 않았다.(기재 참조)
helper 메서드
# application_helper
module ApplicationHelper
def errors_hash(resource)
resource.errors.messages.map do |col, errors_array|
[col, errors_array.map { |error| resource.class.human_attribute_name(col) + error }]
end.to_h
end
end
먼저 리소스에 검증 검사를 실시한 모델 실례를 추가했다resource.errors.messages
=>{:name=>["を入力してください"]}
같은 데이터가 변경될 수 있으므로 일본어화하여{:name=>["名前を入力してください"]}
이런 느낌의 데이터를 돌려드릴게요.창에 추가
post에서 검증하는 표에 추가합니다.
# 途中は省略
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
.
.
.
<%= f.label :username %>
<%= f.text_field :username, autofocus: true %>
# エラーメッセージの表示
<% errors_hash(resource)[:username].each do |error_msg| %>
<p class="text-xs text-red-500"><%= error_msg %></p>
<% end %>
.
.
.
<%= f.submit "新規登録する" %>
<% end %>
완성
보안 디스플레이
끝맺다
보기 쉬워진 반면에 형식마다 번거로움이 추가되어야 한다.
또 다른 방법이 있다면 댓글을 달아주세요!
참고 자료
rails 국제화 API
Reference
이 문제에 관하여(어떻게 표에 검증 오류 메시지를 간단하게 표시합니까), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/akhmgc/articles/851d0a7e792e2c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)