如何解决如何在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 举报,一经查实,本站将立刻删除。