ng-dirty class on model change

by Eduardo GarcĂ­a Sanz

HTML

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.4/angular.min.js"></script>
<form name="form">
    <select ng-model="data.country">
        <option value="A">Austria</option>
        <option value="B">Bolivia</option>
        <option value="C">Colombia</option>
        <option value="D">Dinamarca</option>
    </select>
    <input type="text" ng-model="data.address" name="address" placeholder="Address" ng-required="checkCountry(data.country)"/>
</form>

CSS

* {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
}

input.ng-invalid {
    background-color: #53ed9a;
}

button, input, select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 1em 0;
    padding: 1em;
}

JavaScript

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

app.run(function($rootScope) {
    
    $rootScope.checkCountry = function (country) {
        
        return ['A', 'B', 'C'].indexOf(country) < 0;
    };
});