IT Share you

Ruby on Rails 양식의 HTML5 '필수'유효성 검사

shareyou 2020. 12. 6. 22:22
반응형

Ruby on Rails 양식의 HTML5 '필수'유효성 검사


이 질문은 다른 곳에서는 볼 수 없습니다. 빠르고 쉬운 질문입니다.

내 양식 (Rails의 Ruby)에서 '필수'와 같은 HTML5 유효성 검사기를 어떻게 사용할 수 있습니까?

예를 들어, HTML5 유효성 검사를 사용하면이 기본 양식이 어떻게 보일까요?

<%=form_for @testimonial do |t|%> 
<dl>
  <dt><label for="testimonial_rating">Rating</label></dt>
  <dd><%=t.select :rating, Testimonial.ratings%></dd>
  <dt><label for="testimonial_content">Comments</label></dt> 
  <dd><%=t.text_area :content, :rows => 3%></dd>
  <dd><button class="button success">Submit Review</button></dd>
</dl>
<%end%>

서버 측 유효성 검사가 여전히 필요하다는 것은 말할 필요도 없습니다.


아 쉬웠 어 :required => true

예 : <%=t.text_area :content, :rows => 3, :required => true%>


추가하기 위해 이메일 필드가있는 경우 'pattern'속성을 사용하여 이메일 형식의 유효성을 검사 할 수도 있습니다.

<%=form.text_field :email, :required => true, :pattern => '[^@]+@[^@]+\.[a-zA-Z]{2,6}' %>

:)


@prashantsahni 답변에 추가. 정규식 패턴 대신 type = 'email'을 사용할 수도 있습니다 . 그러면 erb-template은 다음과 같습니다.

<%= f.email_field :email, id: 'user_email', type:'email', required: true, placeholder: "Email" %>  

HTML5를 사용한 양식 유효성 검사에 대한 추가 정보


이는 :required => true입력 필드에 매개 변수를 추가하여 쉽게 수행 할 수 있습니다 .

예를 들면

f.text_field :first_name, :required => true
text_field_tag :first_name, nil, :required => true

경계를 조금 더 밀면 이메일과 같은 입력을위한 패턴 매처를 추가 할 수 있습니다.

f.email_field :email, 'Email', :required => true, :pattern => '[^@]+@[^@]+\.[a-zA-Z]{2,6}'

이것은 공통 속성이있는 작은 예이며 required : true 만 추가 할 수 있지만 백엔드에서이 유효성 검사를 적용하는 것을 잊지 마십시오.

<%= f.text_field
    id: "yourID",
    class: "yourCLass",
    placeholder: "Your message",
    maxlength: 14,
    required: true
%>

새로운 구문 <%= f.text_field :email, class: "form-control", required: true %>


다른 답변을 완료 하려면 모델의 ActiveRecord 유효성 검사에서 읽는 HTML5 유효성 검사의 대부분을 만드는 멋진 gem html5_validations 가 있습니다. 추가 코드가 필요하지 않고 설치 만하면됩니다.


아무것도 작동하지 않으면 이것을 사용하십시오

include_blank: false, required: true

참고 URL : https://stackoverflow.com/questions/13541983/html5-required-validation-in-ruby-on-rails-forms

반응형