\$\begingroup\$
\$\endgroup\$
1
Is this a good form validation script?
$(document).ready(function() {
$("form").submit(function() {
var shouldSubmit = true;
$(this).children(":input:not(:button, [type=\"submit\"], [type=\"reset\"])").each(function() {
if ($(this).val() == "")
{
shouldSubmit = false;
return shouldSubmit;
}
});
if ($("input:checkbox").length > 0)
{
if ($("input:checkbox:checked").length == 0)
shouldSubmit = false;
}
if ($("input:radio").length > 0)
{
if ($("input:radio:checked").length == 0)
shouldSubmit = false;
}
if (shouldSubmit == false)
alert("All form fields must be filled out.");
return shouldSubmit;
});
});
Jamal
35.2k13 gold badges134 silver badges238 bronze badges
1 Answer 1
\$\begingroup\$
\$\endgroup\$
The if statements could be cleaner:
if ($("input:checkbox").length > 0 && $("input:checkbox:checked").length == 0)
{
shouldSubmit = false;
}
if ($("input:radio").length > 0 && $("input:radio:checked").length == 0)
{
shouldSubmit = false;
}
if (!shouldSubmit)
{
alert("All form fields must be filled out.");
}
default
if($("input:radio").is("checked))
. Also you can just return false right away instead of setting a boolean then returning false. \$\endgroup\$