반응형
레일 3에 대한 유효성 검사 사용자 지정 메시지
Rails는 모델 내부의 속성을 검증하는 새로운 방법을 도입했습니다. 내가 사용할 때
validates :title, :presence => true
작동하지만 사용자 지정 메시지를 추가하려고 할 때
validates :title, :presence => true,:message => "Story title is required"
오류가 발생합니다
Unknown validator: 'message'
이 시도
validates :title, presence: { message: "Story title is required" }
사실 저는 더 나은 방법으로 이것을했습니다. 메시지에서 필드 제목을 제거하려면 _form.htmk.erb보기에서 다음을 사용해야합니다.
이 뷰 내부에서 볼 수 있듯이 :
<ul>
<% @article.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
다음으로 교체하십시오.
<ul>
<% @article.errors.each_with_index do |msg, i| %>
<li><%= msg[1] %></li>
<% end %>
</ul>
조건이있는 부울에 대한 사용자 정의 메시지는 다음과 같습니다.
validates :foo, inclusion: { in: [true, false], message: "cannot be blank" }, if: :bar?
레일 3의 HUMANIZED_ATTRIBUTES를 사용할 수 있습니다. 예를 들어 위의 경우 다음과 같습니다.
HUMANIZED_ATTRIBUTES = {
:title => "story"
}
def self.human_attribute_name(attr, options={})
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
모델 속성 제목을 스토리로 대체하는 오류 메시지가 표시됩니다.
참고 URL : https://stackoverflow.com/questions/5386785/validation-custom-message-for-rails-3
반응형
'Programing' 카테고리의 다른 글
Razor 뷰 내부에서 ModelState.IsValid를 어떻게 확인할 수 있습니까? (0) | 2020.08.30 |
---|---|
HttpClient 사용시 요청 / 응답 메시지 로깅 (0) | 2020.08.30 |
중형 Clojure 샘플 애플리케이션? (0) | 2020.08.29 |
운영 체제와 커널의 차이점은 무엇입니까? (0) | 2020.08.29 |
약한 참조에 대한 실용적인 사용이 있습니까? (0) | 2020.08.29 |