I’m trying to customize a validation script that came with my theme. It works fine, but I want to make it so the comment field is not required. I have tried commented out everything related but then I was getting errors.
here is the javascript
// var $mjq for better adaptation and work with other libraries
var $mjq = jQuery.noConflict();
$mjq(function(){
$mjq(document).ready(function(){
$mjq(".help-inline").each(function() {
$mjq(this).css('display', 'none');
});
});
$mjq("#inputEmail").bind('blur', is_valid_email);
$mjq("#inputName").bind('blur', is_valid_name);
// $mjq("#textarea").bind('blur', is_valid_comment);
$mjq('#validForm').bind('submit', function(e) {
if (!is_valid_form())
return false;
e.preventDefault();
$mjq("#result").html('');
var data = $mjq(this).serialize();
$mjq.ajax({
url: "newsletter_form.php",
type: "post",
dataType : "json",
data: data,
success: function(data) {
var alertClass;
if(data.error === true){
alertClass = 'alert-error';
}else{
alertClass = 'alert-success';
$mjq('#validForm').closest('form').find("input[type=text], textarea").val("");
}
$mjq("#result").html(returnHtml(alertClass, data.message));
},
error: function(data) {
$mjq("#result").html(returnHtml('alert-error', data));
}
});
});
});
function returnHtml(alertClass, html){
return '<div class="alert '+alertClass+'"><button type="button" class="close" data-dismiss="alert">×</button>'+html+'</div>';
}
// Email validate
function is_valid_email() {
$this = $mjq("#inputEmail");
var pattern = new RegExp(/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/i);
if(pattern.test($this.val())){ // valid
if ($this.closest(".control-group").hasClass("error"))
$this.closest(".control-group").removeClass("error");
$this.siblings(".help-inline").css("display", "none");
return true;
} else { // error
if (!$this.closest(".control-group").hasClass("error"))
$this.closest(".control-group").addClass("error");
$this.siblings(".help-inline").css("display", "block");
return false;
}
}
// Name validate
function is_valid_name() {
$this = $mjq("#inputName");
if($this.val().length>0){ // valid
if ($this.closest(".control-group").hasClass("error"))
$this.closest(".control-group").removeClass("error");
$this.siblings(".help-inline").css("display", "none");
return true
} else { // error
if (!$this.closest(".control-group").hasClass("error"))
$this.closest(".control-group").addClass("error");
$this.siblings(".help-inline").css("display", "block");
return false;
}
}
// Comment validate
// function is_valid_comment() {
// $this = $mjq("#textarea");
// if($this.val().length>0){ // valid
// if ($this.closest(".control-group").hasClass("error"))
// $this.closest(".control-group").removeClass("error");
// $this.siblings(".help-inline").css("display", "none");
// return true
// } else { // error
// if (!$this.closest(".control-group").hasClass("error"))
// $this.closest(".control-group").addClass("error");
// $this.siblings(".help-inline").css("display", "block");
// return false;
// }
// }
// Form validate
function is_valid_form() {
var ret = true;
if (!is_valid_name()) var ret = false;
if (!is_valid_email()) var ret = false;
// if (!is_valid_comment()) var ret = false;
return ret;
}
here is the html form
<div id="result">
</div>
<form name="contactForm" id="validForm" method="POST" action="newsletter_form.php">
<div class="control-group">
<label class="control-label" for="inputName">NAME<sup>*</sup></label>
<div class="controls">
<input name="name" type="text" class="span4" id="inputName" placeholder="Name">
<span class="help-inline">Please fill your name</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputEmail">EMAIL<sup>*</sup></label>
<div class="controls">
<input name="email" type="text" class="span4" id="inputEmail" placeholder="Email">
<span class="help-inline">Please correct your email</span>
</div>
</div>
<div class="control-group">
<label for="textarea" class="control-label">COMMENT<sup>*</sup></label>
<div class="controls">
<textarea name="comment" rows="4" class="span7" id="textarea"></textarea>
<span class="help-inline">Please write a comment</span>
</div>
</div>
<?php
require_once('config.php');
require_once('recaptchalib.php');
if($use_recaptcha === true){
echo recaptcha_get_html($publickey);
}
?>
<div class="control-group form-button-offset">
<input type="submit" id="submit" class="btn" value="Send Message" />
</div>
</form>
Any ideas on how to make it so the comment field is not required?