微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Framework7中验证提交表单

如何解决如何在Framework7中验证提交表单

假设用户在将值输入某些字段之前单击提交。提交完成之前,如何触发所有输入的验证?

通常,HTML5验证足够聪明,足以在单击按钮时触发验证,但是在Framework 7表单中似乎并没有发生这种情况。这是一个简单的例子。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TwoDController : MonoBehavIoUr
{

    public float speed;
    public int Jumps;
    public bool InAir = false;

    void OnCollisionEnter2D(Collision2D otherObj)
    {
        if (otherObj.gameObject.CompareTag("Ground"))
        {
            Jumps = 0;
        }
    }

    private void Update()
    {

        if (Jumps == 0)
        {
            InAir = false;
        }
        if (Input.GetKey("a"))
        {
            transform.Translate(Vector3.left * speed * Time.deltaTime);
        }

        if (Input.GetKey("d"))
        {
            transform.Translate(Vector3.right * speed * Time.deltaTime);
        }
        if (Input.GetKey("w"))
            Jumps += 1;
        {
            if (Jumps >= 1)
            {
                StartCoroutine("JumpWait");
                transform.Translate(Vector3.up * speed * Time.deltaTime);
            }
        }

    }
    IEnumerator JumpWait()
    {
        yield return (new WaitUntil(InAir = false));


    }
}

我尝试使用ref触发模糊,但是我不确定如何获取ListInput创建的输入元素。

解决方法

1。 HTML5验证

要获得正确的HTML5验证,您需要在表单上使用类型为submit的html按钮。

因此在您的示例中,您必须将prop类型添加到framework7的Button组件中:

<Button type="submit">Submit</Button>

2。捕获提交事件并解析表单

要在表单上捕获提交事件,请在Framework7的onSubmit组件中添加List属性。

Framework7还具有表单解析帮助器方法app.form.converToData。要使用它,您还必须向name组件中添加ListInput道具。

将它们放在一起看起来像这样:

<List form onSubmit={(e)=>this.onLoginForm(e)}>
  <ListInput placeholder="Email" type="email" name="email" validate errorMessage="Please enter a valid email" />
  <ListInput placeholder="Password" type="password" name="password" validate errorMessage="Please enter a value" required />
  <Button type="submit">Submit</Button>
</List>

在这个小提琴中检查工作示例:https://jsfiddle.net/alimamed/orzep1x8/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。