Angular:

http://angularjs.org/

HTML

<div ng-controller="MyCtrl">
  <form name="form" ng-submit="createShipment()">
    <!-- Other fields -->  
    <input name="shipmentDate" 
       ng-pattern='/^(0?[1-9]|1\d|2[0-8]|29(?=[-]\d?\d[-](?!1[01345789]00|2[1235679]00)\d\d(?:[02468][048]|[13579][26]))|30(?![-]0?2)|31(?=[-]0?[13578]|[-]1[02]))[-](0?[1-9]|1[0-2])[-]([12]\d{3})$/'
       required ng-model="shipment.ShipmentDate" type="text">
    <span ng-show="form.shipmentDate.$error.required">Date Required!</span>
    <span ng-show="form.shipmentDate.$error.pattern">Incorrect Format, should be DD-MM-YYYY</span>

    <input class="btn-primary" ng-hide="!form.$valid" type="submit" value="Create">
</form>
</div>

JavaScript

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {}