2016-07-29 22 views
5

Materialize CSS çerçevesini kullanıyorum ve form doğrulama çalışmaz.Materialize Çerçeve - gerekli alanın doğrulanması çalışmıyor

eposta doğrulama çalışıyor: Başka bir yayında belirttiğimiz gibi bu, doğrulama çalışmıyor sadece basit zorunlu alanların gelir Ancak

<div class="row"> 
     <div class="input-field col s12 m5 offset-m3"> 
      <i class="material-icons prefix">email</i> 
      <input type="email" id="input_email" name="email" class="validate" /> 
      <label for="input_email" data-error="Please enter a valid email address">Email</label> 
     </div> 
    </div> 

...

<div class="row"> 
     <div class="input-field col s12 m5 offset-m3"> 
      <i class="material-icons prefix">account_circle</i> 
      <input type="text" id="input_name" data-error="Please enter your name" name="input_name" class="validate" required="required" aria-required="true"/> 
       <label for="input_name">Name</label> 
     </div> 
</div> 

,

materialize best practice validate empty field

Ekledim gerekli ve aria gerekli öznitelik (her ikisi de gerekli = "gerekli" ve gerekli = "" değerler [Bundan önce, neden doğru olduğunu bildiğimden emin değilim]). Ancak doğrulama hala e-posta alanı dışında hiçbir şey yapmıyor ...

Neyi yanlış yapıyorum?

Teşekkür

PS Materialise HTML ve JavaScript için

CDN Buradasınız:

<!--Import Google Icon Font--> 
    <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 

<!-- Compiled and minified CSS --> 
<link type="text/css" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css"> 

<!-- Compiled and minified JavaScript --> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/js/materialize.min.js"></script> 

JSFiddle Bağlantı: https://jsfiddle.net/rz0zk5u6/99/

+0

Aynı problemim var. Görünüşe göre işe yaramıyor. Yarım yıl boyunca bunu cevaplamadılarsa çok çok kötü destek – Edward

cevap

0

Aşağıdaki kodu ile validate_field fonksiyonunu üzerine ya

https://codepen.io/anon/pen/QgqLxE

$(document).ready(function() { 
    window.validate_field = function(object) { 
     var hasLength = object.attr('data-length') !== undefined; 
     var lenAttr = parseInt(object.attr('data-length')); 
     var len = object.val().length; 
     if (object.val().length === 0 && object[0].validity.badInput === false && !object.is(':required')) { 
      if (object.hasClass('validate')) { 
       object.removeClass('valid'); 
       object.removeClass('invalid'); 
      } 
     } else { 
      if (object.hasClass('validate')) { 
       // Check for character counter attributes 
       if ((object.is(':valid') && hasLength && (len <= lenAttr)) || (object.is(':valid') && !hasLength)) { 
        object.removeClass('invalid'); 
        object.addClass('valid'); 
       } else { 
        object.removeClass('valid'); 
        object.addClass('invalid'); 
       } 
      } 
     } 
    }; 
}); 

Veya aşağıdaki PR birleşti kadar bekleyin. https://github.com/Dogfalo/materialize/pull/4883

İlgili konular