【问题标题】:Javascript validation error on using with Django与 Django 一起使用时出现 Javascript 验证错误
【发布时间】:2011-03-23 07:06:10
【问题描述】:

我创建了一个 django 应用程序。使用此应用程序可以创建或删除用户。但是在创建用户时,当我们将字段(员工 ID 字段)的 1 保留为 null 时,它不会被提交并抛出此错误 - int() 的无效文字,基数为 10: '' 。所以我想单独验证该字段并提交该表单,只有当员工 ID 字段不为空时才能解决我的问题。因此,为此我创建了一个 javascript 并希望在提交之前调用该 js 函数。仅当该字段非空时才需要提交该表单。警报框说要输入员工 ID,但是一旦我单击确定警报框,同样的错误又来了。有人可以帮我解决这个问题。我对 Django 和编程很陌生。我将在这里粘贴我的代码。

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: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="userName"  style="color: black; background-color: #BDBDBD" /><br /><br>
Designation:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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:&nbsp;&nbsp;&nbsp;<input type="text" name="project"  style="color: black; background-color: #BDBDBD" /><br><br>
Location:&nbsp;<input type="text" name="location"  style="color: black; background-color: #BDBDBD" /><br><br>
E-mail:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="email"  style="color: black; background-color: #BDBDBD" /><br><br>
Skills:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="skills"  style="color: black; background-color: #BDBDBD" /><br><br>
Date Of Join:&nbsp;<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; 
        }

}

【问题讨论】:

  • 说真的,使用适当的 CSS 作为间距,而不是所有那些 nbsps。

标签: javascript python django validation django-forms


【解决方案1】:

错误:“if ((”打开两个括号

--- 更新 ---

首先,如果您在将空或 null 转换为数字时遇到错误,这意味着您的代码有误。通过在 javascript 上进行额外验证来修复它意味着您在不修复错误本身的情况下做出非常讨厌的解决方法 - 如果 javascript 失败(例如,浏览器中没有启用 javascript)用户仍然会收到 50 倍错误。

因此,请修复您的表单以使该字段成为必填项。 IMO,您在表单中将 EmployeeID 定义为非必填字段,然后您假设该字段是必填字段并尝试使用它。

如果您要修复应用程序(后端)代码,则可以在前端 (javascript) 添加验证。

附加表单验证的正确方法是将其附加到“提交时”表单处理程序。 如果此处理程序将返回“false”,则不会提交表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2018-06-16
    相关资源
    最近更新 更多