<!DOCTYPE html>
<html>
<head>
<script data-require="jquery@2.0.3" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script data-require="angular.js@1.2.5" data-semver="1.2.5" src="http://code.angularjs.org/1.2.5/angular.js"></script>
<script data-require="angular-route@1.2.5" data-semver="1.2.5" src="http://code.angularjs.org/1.2.5/angular-route.js"></script>
<script data-require="angular-ui-router@0.0.1" data-semver="0.0.1" src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.0.1/angular-ui-router.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="Accounts">
<h1>Url server form validation</h1>
<form name="urlForm" ng-controller="Client">
<div class="form-group">
<label>url</label>
<input type="url" name="linkedin" ng-model="data.linkedin" />
<span ng-show="urlForm.linkedin.$invalid">{{urlForm.linkedin.errorMessage}}</span>
</div>
<button ng-click="save(data, urlForm)">Save</button>
</form>
</body>
</html>
// Code goes here
angular.module('Accounts', [
'ngRoute',
'ui.router'
])
.config(function ($routeProvider) {
$routeProvider.otherwise('/404');
})
.controller('Client', ['$scope', function ($scope) {
$scope.loading = false;
$scope.init = function () {
$scope.data = {
linkedin: "http://dk.linkedin.com/in/mlunoe/"
};
};
$scope.save = function (data, form) {
console.log(form);
form.linkedin.$setValidity("url", false);
form.linkedin.errorMessage = "Server error message";
}
$scope.init();
}]);
/* Styles go here */
.ng-invalid {
border: 1px solid #FA787E;
}