与Django一起使用时出现Javascript验证错误
我已经创建了一个django应用程序。使用此应用程序可以创建或删除用户。但在创建用户时,当我们将字段(Employee ID字段)中的1保留为null时,它不会被提交并抛出此错误-以10为基数的int()无效文本:“”。所以我想,只有在employee ID字段为非空的情况下,单独验证该字段并提交该表单才能解决我的问题。为此,我创建了一个javascript,并希望在提交之前调用js函数。仅当该字段非空时才需要提交该表单。警报框显示输入员工ID,但一旦我单击“确定”警报框,同样的错误再次出现。有人能帮我解决这个问题吗。我对Django和编程相当陌生。我将把我的代码粘贴到这里与Django一起使用时出现Javascript验证错误,javascript,python,django,validation,django-forms,Javascript,Python,Django,Validation,Django Forms,我已经创建了一个django应用程序。使用此应用程序可以创建或删除用户。但在创建用户时,当我们将字段(Employee ID字段)中的1保留为null时,它不会被提交并抛出此错误-以10为基数的int()无效文本:“”。所以我想,只有在employee ID字段为非空的情况下,单独验证该字段并提交该表单才能解决我的问题。为此,我创建了一个javascript,并希望在提交之前调用js函数。仅当该字段非空时才需要提交该表单。警报框显示输入员工ID,但一旦我单击“确定”警报框,同样的错误再次出现。有
Add New User to Employee List
</h4><br><br><br>
<form name="myForm" action="http://10.1.0.90:8080/createEmployee/" method="POST">
<br>Name: <input type="text" name="userName" style="color: black; background-color: #BDBDBD" /><br /><br>
Designation:
<select name="designation" style="color: black; background-color: #BDBDBD" >
<option value="Trainee" >Trainee</option>
<option value="Software Engineer Trainee">Software Engineer Trainee</option>
<option value="Software Engineer">Software Engineer</option>
<option value="Senior Software Engineer">Senior Software Engineer</option>
<option value="Project Manager">Project Manager</option>
<option value="System Administrator">System Administrator</option>
<option value="Tester">Tester</option>
</select><br>
<br>
EmployeeID:<input id ="empid" type="text" name="employeeID" style="color: black; background-color: #BDBDBD" /><br><br>
Contact Number: <input type="text" name="contactNumber" style="color: black; background-color: #BDBDBD" /><br><br>
Project: <input type="text" name="project" style="color: black; background-color: #BDBDBD" /><br><br>
Location: <input type="text" name="location" style="color: black; background-color: #BDBDBD" /><br><br>
E-mail: <input type="text" name="email" style="color: black; background-color: #BDBDBD" /><br><br>
Skills: <input type="text" name="skills" style="color: black; background-color: #BDBDBD" /><br><br>
Date Of Join: <input type="text" id="datepicker" name="dateOfJoin" style="color: black; background-color: #BDBDBD" /><br><br>
<br><br>
<input type="submit" value=" Submit " onclick="isEmpty()" /><br />
</form>
<script type="text/javascript">
function isEmpty(){
if ((document.myForm.EmployeeID.value.length==0))
{
alert("Please Enter Employee ID");
return true;
}
else
{
return false;
}
}
将新用户添加到员工列表
名称:
任命:
练习生
软件工程师培训生
软件工程师
高级软件工程师
项目经理
系统管理员
测试员
员工ID:
联系电话:
项目:
位置:
电子邮件:
技能:
加入日期:
函数isEmpty(){
if((document.myForm.EmployeeID.value.length==0))
{
警报(“请输入员工ID”);
返回true;
}
其他的
{
返回false;
}
}
错误:“如果(()两个括号打开
---更新---
首先,如果您在将空或空转换为数字时出错,这意味着您的代码有误。通过在javascript上进行额外验证来修复它意味着您在没有修复错误本身的情况下进行了非常糟糕的变通——如果javascript失败(例如,浏览器中没有启用javascript),用户仍然会收到50倍的错误
因此,请修改表单,使此字段为必填字段。在我看来,您在表单中将EmployeeID定义为非必填字段,然后您假设此字段为必填字段,并尝试使用它
如果要修复应用程序(后端)代码,则可以在前端(javascript)添加验证
附加表单验证的正确方法是将其附加到“提交时”表单处理程序。
如果此处理程序返回“false”,则不会提交表单。认真地说,请使用适当的CSS作为间距,而不是所有的
nbsp
s。