使用AngularJS我试图使用输入显示日期type=date:
<input ng-model="campaign.date_start" type="date">
Run Code Online (Sandbox Code Playgroud)
但是,这会产生以下错误:
Error: error:datefmt
Model is not a date object
Run Code Online (Sandbox Code Playgroud)
该日期实际上来自JSON API,格式如下:
date_start": "2014-11-19"
Run Code Online (Sandbox Code Playgroud)
我认为我可以通过使用过滤器解决它,但这不起作用,我得到相同的错误:
<input ng-model="campaign.date_start | date" type="date">
Run Code Online (Sandbox Code Playgroud)
我也尝试将字符串转换为日期,但我又得到了同样的错误:
$scope.campaign.date_start = Date(campaign.date_start);
Run Code Online (Sandbox Code Playgroud)
我还能尝试什么?
当我向用户显示填充的可编辑表单时(而不是当用户输入数据并提交时),会发生错误.数据来自MySQL over REST/JSON,服务如下所示:
HTML:
<input class="form-control" type="date" name="dateInput" id="dateOfBirth"
ng-model="user.dateOfBirth">
Run Code Online (Sandbox Code Playgroud)
CCONTROLLER:
.controller('EditCtrl', function ($scope, $routeParams, UserDetail, $window) {
$scope.user = UserDetail.find({}, {'id': $routeParams.id});
}
Run Code Online (Sandbox Code Playgroud)
服务:
service.factory('UserDetail', function ($resource) {
return $resource(
'http://localhost:8080/ClearsoftDemoBackend/webresources/clearsoft.demo.users/:id',
{id: '@id'},
{
find: {method: 'GET'},
});
});
Run Code Online (Sandbox Code Playgroud)
错误:
错误:[ngModel:datefmt]预计2010-05-13T00:00:00-04:00是日期
我有一个 HTML 5 input type="date"。
<input type="date" required ng-model="nm.pick" id="dpicker ">
Run Code Online (Sandbox Code Playgroud)
然后在我的角度控制器中,我正在分配值
nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
Run Code Online (Sandbox Code Playgroud)
现在这将使 HTML5 默认日期格式为yyyy-MM-dd.
但我想要日期格式 - dd/MM/yyyy
<input type="date">为<input type="text"。如果我更改,日期格式将正常工作然后我将输入日期更改为在控制器中输入文本
$("#dpicker").attr("type", "text");
nm.pick = $filter("date")(Date.now(), 'dd/MM/yyyy');
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
基本上我想dd/MM/yyyy在不改变 HTML 的情况下将日期格式更改为控制器中。
实现这一目标的所有可能方法是什么?
我正在使用角度日期选择器.但它给出了以下错误.你能告诉我如何理清它.提前致谢.
HTML
<input type="date" uib-datepicker-popup ng-model="vm.property.deedDate"
is-open="status.opened" datepicker-options="vm.dateOptions"
date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
Run Code Online (Sandbox Code Playgroud)
JS
vm.property = {};
vm.init = function () {
propertyService.getPropertyForEdit({
id: propertyId
}).success(function (result) {
vm.property = result.property;
vm.property.deedDate = moment(vm.property.deedDate);
});
};
vm.init();
Run Code Online (Sandbox Code Playgroud)
从Web Api返回:
Web Api Dto对象:
public class PropertyEditDto : IOutputDto
{
public int Id { get; set; }
public DateTime DeedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它给出了下面提到的控制台错误