如何实现一个系统,检查表单中输入的文本是否遵循一组规则?
问题描述:
我正在寻找建议/指导实施基于规则的表单验证系统,我每天以的用户身份使用网站。问题如下:如何实现一个系统,检查表单中输入的文本是否遵循一组规则?
- 我们必须在这里用户(在我的公司的雇员)投入单前输入多个表单字段外部方提供的基于网络的系统(网站)。
- 在该系统中,不同领域之间存在一些关系。例如,如果
field A
被输入为cat
,field B
必须是feline
或felidae
,没有别的。 - 目前,该网站允许用户在这些文本字段中输入任何内容。这意味着一些员工会犯错误,当我们想要组织和分析数据时会产生问题。
- 这将是几乎不可能让网站开发者在他们的系统执行这些规则(部分原因是因为他们的系统中使用其他客户端 - 不只是我们公司 - 部分是因为我们的规则是周期性变化)。这意味着我们需要在我们的(客户端/用户/浏览器)方面提出解决方案。
我甚至不知道从哪里开始(即我应该考虑哪种方法)来解决此问题。当用户点击提交时,是否会实现一个浏览器扩展/插件,用于检查所有表单域中的内容,从而解决问题?这甚至有可能吗?提前感谢您的任何建议!
答
这是一个伟大的用例userscripts。下面应该让你开始:
(function() {
const form = document.querySelector('form#someFormID');
form.addEventListener('submit', e => {
function abort(message) {
e.preventDefault();
alert(message);
}
// <input name="username"> is available as form.username
if (form.someFieldName.value != 'cat') {
abort(`${form.someFieldName.name} must be 'cat'!`);
}
})
})();
答
您可以制作浏览器扩展程序,用于检查用户点击哪个链接。如果是您想要应用表单验证的网站链接,那么它将验证表单。 为此,首先你需要知道他们基本上使用哪个浏览器。然后根据那个浏览器,你可以做扩展。
如果他们使用的是Google chrome,这里是simple guide作为扩展名。你也可以从几个 samples 也开始。这里是简单guide作出扩展为Mozilla Firefox。
+0
谢谢你的方向和资源共享,@Prateek! – user1330974
谢谢@Andrea Reina!这非常有帮助。 – user1330974