小编Irv*_*ert的帖子

复合视图模型对象导致远程验证失败

我已经为这个项目中的一些表单使用了复合视图模型的模式.它工作得很好.

在这种情况下,我有一个VendorAddress视图模型.我在这个项目的几个地方使用Address(es),所以我制作了一个可以重复使用的Address视图模型对象.然后我决定要对状态代码和拉链进行非常彻底的检查,所以我决定使用远程验证并检查状态和邮政编码,以便在数据库中存储一组表.

问题是我没有将值返回到我要求的字段的远程操作方法(在本例中为State和PostalCode).我相信这是因为MVC框架对于输入的id(s)的复合或子类型的名称,在这种情况下它的名称如'Address_Line1'和'Address_State'和'Address_PostalCode'.

最终我的问题是,是否有一种方法可以从基础视图模型对象中关闭预先设置的'Address_',以便MVC框架可以在表单之后将其放入对象中?

    public class AddressViewModel
{
    [ScaffoldColumn(false)]
    public int AddressId { get; set; }
    [Required(ErrorMessage = "Please enter the first address line")]
    public string Line1 { get; set; }
    public string Line2 { get; set; }
    public string Line3 { get; set; }
    [Required(ErrorMessage = "Please enter a city name")]
    public string City { get; set; }
    [Required(ErrorMessage = "Please enter a state 2 letter code")]
    [StringLength(2)]
    [Remote("CheckState", "Validation", AdditionalFields = "PostalCode")]
    public string State { get; set; …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc-3

8
推荐指数
1
解决办法
2097
查看次数

TypeScript 错误 - TS7016 - (TS) 找不到模块“redux-localstorage”的声明文件

我已将环境升级到 TypeScript 2.4.1 并已将"strict": true,tsconfig.json。我真的很喜欢严格的空检查,这太酷了,但是,我\xe2\x80\x99m 遇到了我使用的 redux 东西的砖墙。我\xe2\x80\x99m使用的是通过npm安装的模块\xe2\x80\x98redux-localstorage\xe2\x80\x99。对于这个新的 TypeScript 编译器来说,它\xe2\x80\x99 很旧,可能已经过时,并且工作时没有任何问题。它抛出错误, \xe2\x80\x9cTS7016 - (TS) 找不到模块 \'redux-localstorage\' 的声明文件。\xe2\x80\x9d

\n\n

我找到了一个 \xe2\x80\x98@types/ redux-localstorage\xe2\x80\x99 ,但似乎是对一个更旧版本的模块完成的,其参数与我的参数不同。正如我所说,我知道该模块可以工作,它\xe2\x80\x99s 只是不支持这种严格的类型检查。

\n\n

问题是,我\xe2\x80\x99m 仅从一个 .ts 文件调用该模块,并且我只使用一个函数。因此,在这个 .ts 文件的顶部我有这样的导入语句:

\n\n

import persistState from \'redux-localstorage\';

\n\n

在我更新到较新的 TypeScript 并打开严格检查之前,此语句运行良好,但现在我收到了所述错误。

\n\n

我有两个问题,有人知道快速且简单的解决方法吗?我确实不想\xe2\x80\x99t 关闭严格检查(我认为这就是导致问题的原因)。但也许有一种方法可以只针对这个文件关闭它?

\n\n

第二个问题是,如果没有 \xe2\x80\x9cquick fix\xe2\x80\x9d 我可以为这个模块编写自己的 \xe2\x80\x98.d.ts\xe2\x80\x99 文件吗?这一项功能。如果是这样,有人可以指点我如何做吗?如前所述,我只需要为一个函数创建一种类型。

\n\n

更新 - 我已经解决了问题

\n\n

我创建了这种类型的文件:

\n\n
// Type definitions for redux-localstorage persistState, until a better solution becomes available\nimport * as Redux from "redux";\n\nexport interface ConfigRS {\n    key: string;\n …
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
0
解决办法
2296
查看次数

如何使CORS与ASP.Net Core Web API服务器Angular 2客户端一起使用

我已经阅读了有关ASP.NET Core和CORS的所有文章,并且相信我能理解其中的大部分内容,但是,如果我能够将其投入使用,我该死的。我正在使用Chrome浏览器,以下是数据:

预过滤:

General:
Request URL:http://localhost:34376/api/login
Request Method:OPTIONS
Status Code:204 No Content
Remote Address:[::1]:34376

Response Headers:
view source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:access-control-allow-origin,content-type
Access-Control-Allow-Origin:http://localhost:3000
Date:Wed, 23 Nov 2016 03:05:00 GMT
Server:Kestrel
Vary:Origin
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?QzpcUHJvamVjdHNcbXZjXFNob3BVc1NlcnZpY2Vcc3JjXFNob3BVc1NlcnZpY2VcYXBpXGxvZ2lu?=

Request Headers:
view source
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:access-control-allow-origin, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:localhost:34376
Origin:http://localhost:3000
Referer:http://localhost:3000/authentication
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Run Code Online (Sandbox Code Playgroud)

发布:

Request URL:http://localhost:34376/api/login
Request Method:POST
Status Code:500 Internal Server Error
Remote Address:[::1]:34376

Response Headers:
view source
Content-Length:0
Date:Tue, 22 Nov …
Run Code Online (Sandbox Code Playgroud)

cors asp.net-core-middleware asp.net-core-webapi angular

2
推荐指数
1
解决办法
3542
查看次数