Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将我自己的验证代码添加到MooTools lightface表单_Javascript_Forms_Mootools_Validation - Fatal编程技术网

Javascript 如何将我自己的验证代码添加到MooTools lightface表单

Javascript 如何将我自己的验证代码添加到MooTools lightface表单,javascript,forms,mootools,validation,Javascript,Forms,Mootools,Validation,我创建了一个简单的javascript函数来验证一个表单,该表单是使用mootools在facebook应用程序中创建的: Facebook请愿应用程序 最初的验证是使用HTML5完成的,但由于这在所有浏览器中都不起作用,我不得不尝试并想出一些可能的方法!因此,我创建了一个简单的javascript函数,我知道它可以工作,但我很难让它与mootools lightface一起工作,因为我在单击submit按钮时进行了验证,但对于lightface插件,我没有这样做的选项,因为submit按钮是独

我创建了一个简单的javascript函数来验证一个表单,该表单是使用mootools在facebook应用程序中创建的:

Facebook请愿应用程序

最初的验证是使用HTML5完成的,但由于这在所有浏览器中都不起作用,我不得不尝试并想出一些可能的方法!因此,我创建了一个简单的javascript函数,我知道它可以工作,但我很难让它与mootools lightface一起工作,因为我在单击submit按钮时进行了验证,但对于lightface插件,我没有这样做的选项,因为submit按钮是独立于表单定义的,如果这样做有意义的话

我不知道如何上传这里的代码,但如果你去链接并选择“Chuckie”作为答案,你会看到显示的表单,并可以从那里查看帧源

这是我的验证代码:

function validate(form) {
    var fail = false;
    var name = document.getElementById("full_name");

    if (name.value.length == 0) {
      document.getElementById("okName").className = "fail";
      fail = true;
    }else{
      document.getElementById("okName").className = "success";
    }



    var email = document.getElementById("email");
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

    if (email.value.length == 0 || !emailPattern.test(email.value)) {
      document.getElementById("okEmail").className = "fail";
        fail = true;
    }else{
      document.getElementById("okEmail").className = "success";
    }



    var phone = document.getElementById("phone");
    var phonePattern = /^\+?[0-9]{0,15}$/ ;

    if (phone.value.length == 0 || !phonePattern.test(phone.value)) {
      document.getElementById("okPhone").className = "fail";
        fail = true;
    }else{
      document.getElementById("okPhone").className = "success";
    }

    if ( fail ) {
        alert( "You didn't fill out all inputs" );
    } else {
        alert( "Everything OK" );
    }
}//End of validation function

如果可能的话,我只想把这个方法传递给mootools的submit按钮?

你真的应该给Form.Validator一个旋转(来自mootools more)

带着一堆预先制作的验证器,以及自己定义验证器的能力

此外,如果您使用的是mootools,您可能希望留在api中

  • document.getElementById()
    ->
    document.id()
  • element.value
    ->
    element.get('value')
  • element.addClass('validation-failed')
  • element.toggleClass('validation-failed')
  • element.hasClass('validation-failed')
  • element.property=value
    ->
    element.set('property',value)
如果此函数要在submit事件上运行,则可能需要将其更改为将其作为上下文(
this
)绑定到表单,参数为可以停止的
事件

function validate(event) {
    var fail = false;

    // logic.


    if (fail) {
        event && event.stop && event.stop();
        return false;
    }
    this.submit();
}

document.id('someform').addEvent('submit', validate);