Stackoverflow - jQuery validator custom rulle

by john_s

HTML

<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<form id="form">
    <label>Name:
        <input type="text" name="name" />
    </label>
    <br />
    <label>Excuse:
        <select name="owner">
            <option value="">choose...</option>
            <option value="OVERSLEPT">I over slept</option>
            <option value="FORGOT">I forgot</option>
            <option value="APATHY">I just don't care</option>
        </select>
    </label>
    <br />
    <br />
    <button type="submit">Submit</button>
</form>

JavaScript

jQuery.validator.addMethod(
    'forgotNotAccepted', function (value, element) {
        return value !== 'FORGOT';
    }
);

jQuery("#form").validate({
    rules: {
        owner: 'required forgotNotAccepted',
        name: "required"
    },
    messages: {
        name: "Name is required.",
        owner: {
            required: 'Excuse is required',
            forgotNotAccepted: '"I forgot" is not an acceptable excuse.'
        }
    }
});