$dirty flag setting to true when value entered in text box but not vice versa

I have a form in which

myForm.$dirty

gets set to true when i enter a value in text box

<input name="input" ng-model="myModel.text">

But the flag isn't setting to false when i delete all values from text box. Why is it so and how to rectify it.

$dirty means you've interacted with the form, so once you've typed anything, it's considered dirty.

Starting with version 1.1.1, theres a $setPristine function that will allow you restore a form to its pristine state, but for the moment, you'll have to figure out a workaround that fits your needs.