我有一个用JavaScript编写的脚本,我需要在php中转换此验证。所以我目前的JavaScript验证不适用于PHP。任何的想法。这是代码。
function save_product()
var productcombo = document.getElementById('productcombo').object;
var batchcombo = document.getElementById('batchcombo').object;
if(productcombo.GetTextValue()=="" )
{
alert("Select Product Name");
productcombo.SetFocus();
}
else if(batchcombo.GetTextValue()=="" )
{
alert("Select Product Batch No");
batchcombo.SetFocus();
}
else if(document.getElementById("qty").value=="" )
{
alert("Enter inward quantity");
document.getElementById("qty").focus();
}
else if(document.getElementById("qty").value!="" && (parseInt(document.getElementById("qty").value)>parseInt(document.getElementById("productqty").value)))
{
var pq=document.getElementById("productqty").value;
alert("Enter quantity less than "+pq+"");
document.getElementById("qty").focus();
}
else
{
var productgrid = nitobi.getGrid('productgrid');
productgrid.insertRow();
productgrid.setActiveRow(0,0);
var rowno=productgrid.getSelectedRow();
productgrid.getCellObject(0,2).setValue(document.getElementById("productsrno").value);
productgrid.getCellObject(0,3).setValue(productcombo.GetTextValue());
productgrid.getCellObject(0,4).setValue(productcombo.GetSelectedRowValues()[6]);
productgrid.getCellObject(0,5).setValue(batchcombo.GetTextValue());
productgrid.getCellObject(0,6).setValue(document.getElementById("qty").value);
productgrid.getCellObject(0,7).setValue(document.getElementById("boxes").value);
productgrid.getCellObject(0,8).setValue(document.getElementById("rate").value);
productgrid.getCellObject(0,9).setValue(document.getElementById("price").value);
get_resetproduct();
productcombo.SetFocus();
calTotal();
calVat();
document.getElementById("save1").disabled=false;
document.getElementById("reset1").disabled=false;
document.getElementById("delete1").disabled=true;
check_user()
}
}
当我点击提交按钮时,新的空白数据会保存在DB中,这是错误的。我需要验证才能工作。
答案 0 :(得分:0)
我建议您使用jQuery Form Validator。编写自己的表单验证非常简单易用。
示例:
<form action="/registration" method="POST">
<p>
Name (4 characters minimum):
<input name="user" data-validation="length" data-validation-length="min4">
</p>
<p>
Year (yyyy-mm-dd):
<input name="birth" data-validation="date" data-validation-format="yyyy-mm-dd">
</p>
<p>
Website:
<input name="website" data-validation="url">
</p>
<p>
<input type="submit">
</p>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.1.47/jquery.form-validator.min.js"></script>
<script>
$.validate();
</script>
和许多功能:
<!-- An answer has to be given -->
<input data-validation="required" type="text">
<!-- Max 100 characters -->
<input data-validation="length" data-validation-length="max100" type="text">
<!-- Minimum 20 characters -->
<input data-validation="length" data-validation-length="min20" type="text">
<!-- No less than 50 characters and no more than 200 characters -->
<input data-validation="length" data-validation-length="50-200" type="text">
<!-- Any numerical value -->
<input data-validation="number" type="text">
<!-- Only allowing float values -->
<input data-validation="number" data-validation-allowing="float" type="text">
<!-- Allowing float values and negative values -->
<input data-validation="number" data-validation-allowing="float,negative" type="text">
<!-- Validate float number with comma separated decimals -->
<input data-validation="number" data-validation-allowing="float"
data-validation-decimal-separator="," type="text">
<!-- Only allowing numbers from 1 to 100 -->
<input data-validation="number" data-validation-allowing="range[1;100]" type="text">
<!-- Only allowing numbers from -50 to 30 -->
<input data-validation="number" data-validation-allowing="range[-50;30],negative" type="text">
<!-- Only allowing numbers from 0.05 to 0.5 -->
<input data-validation="number" data-validation-allowing="range[0.05;0.5],float" type="text">
答案 1 :(得分:0)
你的程序总是(可能)有点javascript和一点点php。 如果您根本不想使用javascript,但我看不出任何原因,您应该只提交表单。 鉴于您的操作方法“获取”或“发布”,您将在PHP脚本中检索de数据。
这里的问题解释起来非常复杂。
关键是php正在你的服务器上运行,永远不会serFocus()或给你警报()。
您应该在javascript中进行表单验证,以改善您的功能。 如果你在某些情况下表单验证有一个秘密alghoritm并且你想在php中运行它,只需发送所有数据并使这个函数返回true或false,或者返回失败控件的输入。页面中的脚本将等待响应(jquery或任何其他),并将为用户提供正确的消息。 设置焦点,发出警报,高亮显示某些内容。
在大多数情况下,你无法将javascript翻译成PHP,这是没有意义的。