Angular - default value for model

Say I have some html as follows:

<html>
<head> angular etc. </head>
<body ng-app>
<div ng-controller="MyCtrl"> 
      <input ng-model="weight" type="number" min="{{minWeight}}" max="{{maxWeight}}">
      <p>{{weight}}</p>
</div>
</body>
</html>

and the following controller:

function MyCtrl($scope){
    $scope.weight = 200;
    $scope.minWeight = 100.0;
    $scope.maxWeight = 300.0;


} 

The "min" and "max" will show the user their input is bad, and if I hard code them to say, 100 and 300, it will make sure the value is never bound to the model at all (why isn't the behavior the same??). What I'd like to do is only actually change the "weight" if the value meets the input requirements. Any thoughts?

I don't fully understand what are you trying to do.

HTML:

<html>
<head> angular etc. </head>
<body ng-app="MyApp">
<div ng-controller="MyCtrl"> 
      <input ng-model="weight" type="number" min="{{minWeight}}" max="{{maxWeight}}">
      <p>{{weight}}</p>
</div>
</body>
</html>

Angular: [Edit]

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

app.controller('MyCtrl', ['$scope', function MyCtrl($scope){
    $scope.weight = 200;
    $scope.minWeight = 100.0;
    $scope.maxWeight = 300.0;

    $scope.$watch('weight', function (newValue, oldValue) {
        if(typeof newValue === 'number') {
            if(newValue > $scope.maxWeight || newValue < $scope.minWeight) {
                $scope.weight = oldValue;
            }
        }
    });
}]);

But here is an example I made in jsFiddle. I hope this was a solution you were looking for.

[Edit]

http://jsfiddle.net/migontech/jfDd2/1/

[Edit 2]

I have made a directive that does delayed validation of your input field. And if it is incorrect then it sets it back to last correct value. This is totally basic. You can extend it to say if it is less then allowed use Min value, if it is more then allowed use Max value it is all up to you. You can change directive as you like.

http://jsfiddle.net/migontech/jfDd2/2/

If you have any questions let me know.