在angularJS输入中将最小日期设置为当前日期

Sam*_*Sam 16 angularjs

在AngularJS中,我们如何设置当前日期(今天)的min属性input type="date"

<input type="date" ng-model="data.StartDate" name="StartDate" min=?? />
Run Code Online (Sandbox Code Playgroud)

EDIT1

我做了下面的建议并在控制器中添加了这个 -

$scope.currentDate = new Date();
Run Code Online (Sandbox Code Playgroud)

这在Html中 -

<input type="date" ng-model="data.StartDate" name="StartDate" required min="{{currentDate | date:'yyyy-MM-dd'}}" />
<span ng-show="form.StartDate.$dirty && form.StartDate.$invalid">
    <span ng-show="form.StartDate.$error.required">Start Date is required</span>
    <span ng-show="form.StartDate.$error.min">Start Date should not be less than current date</span>
</span>
Run Code Online (Sandbox Code Playgroud)

现在,只有年份不允许选择少于2015年.此外,如果整个日期小于当前日期,则不会进行验证.所需的验证工作正常..min检查现场是否正确?

谢谢

vic*_*ohl 25

是的,您可以设置最小值.根据文件:

<input type="date"
       ng-model=""
       [name=""]
       [min=""]
       [max=""]
       [required=""]
       [ng-required=""]
       [ng-change=""]>
Run Code Online (Sandbox Code Playgroud)

参数

min (可选) string - 如果输入的值小于min,则设置min验证错误键.这必须是有效的ISO日期字符串(yyyy-MM-dd).

编辑 要将字段设置为当前日期:

控制器:

function Ctrl($scope)
{
    $scope.date = new Date();
}
Run Code Online (Sandbox Code Playgroud)

视图:

<input type="date" ng-model="data.StartDate" 
        name="StartDate" min="{{date | date:'yyyy-MM-dd'}}" />
Run Code Online (Sandbox Code Playgroud)

这里的工作示例.