[RUBY-ON-RAILS] 레일 3 사용자 정의 고안 오류 메시지?
RUBY-ON-RAILS레일 3 사용자 정의 고안 오류 메시지?
나는 인증을 처리하기 위해 고안를 사용하고 있습니다. 좋아 전반적으로 나는,하지만 난 에러 표시를 조금 사용자 정의하고 싶습니다. 지금은 내보기에 다음을 가지고있다.
<div class="field <% if resource.errors[:email].present? %>error<% end %>">
<%= f.label :email, "Email:" %><br />
<% if resource.errors[:email].present? %>
<ul>
<% resource.errors[:email].each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
<% end %>
<%= f.text_field :email, :class => "text" %>
</div>
무효 : 이메일에 문제가있을 때, 메시지가 표시 다음과 같다. 그것은 매우 사용자 친화적 인 아니지만,이 메시지가 설정되는 어디서 찾을 수 없습니다. devise.en.yml에있는 것으로 나타나지 않지만 아마도 내가 뭔가를 내려다하고 있습니다.
나는 오류 메시지를 사용자 정의 할 수 있습니다 어떤 생각?
감사!
해결법
-
==============================
1.이 검증은 검증 모듈에 정의 된 모든이며, 기본 오류 메시지가 레일 사용합니다.
이 검증은 검증 모듈에 정의 된 모든이며, 기본 오류 메시지가 레일 사용합니다.
당신은 당신의 모델이을 대체 할 수 있습니다.
validates_format_of :email, :with=>email_regexp, :allow_blank => true, :message=>"new error message here"
-
==============================
2./config/locales/devise.en.yml : 당신의 로케일 파일에서 오류 메시지를 구성 할 수 있습니다
/config/locales/devise.en.yml : 당신의 로케일 파일에서 오류 메시지를 구성 할 수 있습니다
코드와 어떤 쉽게 원하는대로 수정할 수 있습니다 다음과 같은 뭔가를해야하는 :
en: errors: messages: not_found: "not found" already_confirmed: "was already confirmed" not_locked: "was not locked" devise: failure: unauthenticated: 'You need to sign in or sign up before continuing.' unconfirmed: 'You have to confirm your account before continuing.' locked: 'Your account is locked.' invalid: 'OH NOES! ERROR IN TEH EMAIL!' invalid_token: 'Invalid authentication token.' timeout: 'Your session expired, please sign in again to continue.' inactive: 'Your account was not activated yet.' sessions: signed_in: 'Signed in successfully.' signed_out: 'Signed out successfully.'
더 자세한 설명은 (스크린 샷)이 URL을 확인하십시오. 기사의 사용자 지정 오류 메시지 섹션.
-
==============================
3.당신이 장치에 의해 추가 된 세관 검증에 대한 메시지를 변경하려면, 기독교의 답변을 확인합니다.
당신이 장치에 의해 추가 된 세관 검증에 대한 메시지를 변경하려면, 기독교의 답변을 확인합니다.
사용자 정의 할 유효성 검사가 이메일 형식과 같은 표준 검증 경우 그렇지 않으면, 당신은 고안의 검증을 제거하고 자신으로 대체 할 필요가 없습니다. 이 문제를 처리하는 더 좋은 방법은 레일 가이드에 나와있는 기본 오류 메시지 우선 순위를 사용하고 특정 필드와 특정 유효성 검사 오류 메시지를 무시하는 것입니다.
이 특정 질문에 대해, 키는 당신이 추가 할 필요가 있다는 설정 / 로케일 / en.yml 변경하기 위해 이메일 오류에 대한 사용자 정의 메시지가 유효가 activerecord.errors.models.user.attributes.email.invalid이다 (여기서 사용자 모델의 이름)입니다 :
en: activerecord: errors: models: user: attributes: email: invalid: "custom invalid message"
레일은 다음과 같은 순서로 유효성 검사를위한 쇼에 메시지를 검색합니다 :
activerecord.errors.models.[model_name].attributes.[attribute_name] activerecord.errors.models.[model_name] activerecord.errors.messages errors.attributes.[attribute_name] errors.messages
from https://stackoverflow.com/questions/5839071/customizing-devise-error-messages-in-rails-3 by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 유증과 세션 길이 설정 (0) | 2020.03.03 |
---|---|
[RUBY-ON-RAILS] 3 레일 : 현재 사용자의 시간대로 시간대를 설정 (0) | 2020.03.03 |
[RUBY-ON-RAILS] API로 ActionCable를 사용하는 방법 (0) | 2020.03.03 |
[RUBY-ON-RAILS] 루비의 BigDecimal 전성 검사 (부동 소수점 newb) (0) | 2020.03.03 |
[RUBY-ON-RAILS] 레일의 기본 날짜 및 시간 형식을 변경 4 (0) | 2020.03.03 |