检查javascript中按需标记字段的有效性

检查javascript中按需标记字段的有效性,javascript,html,validation,Javascript,Html,Validation,我不想在按下表单上的“提交”按钮时执行提交操作,而是执行一些数据操作,然后使用javascript表单提交表单。提交-因此,我不在表单中使用元素: <form action="process.php" method="post" name="myForm"> <input type="text" name="entry" id="entry" required /> <input type="button" value="Submit" onclic

我不想在按下表单上的“提交”按钮时执行提交操作,而是执行一些数据操作,然后使用javascript
表单提交表单。提交
-因此,我不在表单中使用
元素:

<form action="process.php" method="post" name="myForm">
    <input type="text" name="entry" id="entry" required />
    <input type="button" value="Submit" onclick="manipulate_and_submit(this.form, this.form.entry);" />
</form>

但是在提交之前,我想验证表单的条目和其他元素-我可以手动进行验证。但是HTML5为我们提供了所需的和许多其他属性——我怎么能简单地集成它们呢?是否有类似于
form.isValid()
的内容?谷歌搜索“validate javascript html form”只是给了我一些例子来处理“ye olde times”中的javascript手动验证…

您可以使用
checkValidity
,这是
HTMLFormElement
提供的一种方法。在您的示例中,它类似于
if(!form.checkValidity()){code here}
。来自MDN:

如果受约束验证的所有控件都满足其约束,则[checkValidity]返回true;如果某些控件不满足其约束,则返回false。在任何不满足其约束的控件上激发名为invalid的事件;如果事件未取消,则此类控制被视为无效


如上所述,它还会在每个无效表单项上触发
invalid
事件。然后,您可以让自己的处理程序显示无效,如所述。

虽然这有助于它不会导致表单显示其验证错误消息,但是否有方法触发这些消息?
function manipulate_and_submit(form, entry) {
    var val = entry.value;
    var hidden = document.createElement("input");
    form.appendChild(hidden);
    hidden.type = "hidden";
    hidden.name = "m";
    hidden.value = generate_other_value(val);
    entry.value = "";
    form.submit();
}