小编Sah*_*rma的帖子

jQuery:从给定的id中选择特定元素并设置焦点.优化方式

在许多地方我必须将焦点设置在可见的字段上,并且我可以根据不同的场景显示多个字段.例如:

<input id="A">
<input id="B">
Run Code Online (Sandbox Code Playgroud)

情况是这两个输入中的任何一个都是可见的,我必须将注意力放在那里.

我现在在做什么:

if ($('#A').is(":visible")) {
    $('#A').focus();
} else if ($('#B').is(":visible")) {
    $('#B').focus();
}
Run Code Online (Sandbox Code Playgroud)

我觉得可以有更好的优化方式来做到这一点.我想删除这个if if if语句.

建议?

javascript jquery

3
推荐指数
1
解决办法
579
查看次数

c#我应该对useragent进行空检查吗?

我正在提取用户代理:

string userAgent = HttpContext.Current.Request.UserAgent;
Run Code Online (Sandbox Code Playgroud)

UserAgent是否有可能为null?是否只能用于机器人或任何合法的用户/设备/客户端/浏览器?

c# asp.net user-agent

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

C#NameValueCollection:在删除密钥之前,我们应该检查密钥是否存在吗?

我们想从NameValueCollection中删除几个键,但我们不确定它们是否确实存在于其中.

如果我尝试删除不在NameValueCollection中的key1,则没有异常/副作用:

nameValues.Remove("key1");
Run Code Online (Sandbox Code Playgroud)

但是什么是理想的方法,我们应该在删除之前检查密钥是否存在?

c# namevaluecollection

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

SQL Server:设置多个值,将它们分配为默认值

SET @StartDate = NULL,
    @InitialLoopValue=NULL,
    @FinalLoopValue = NULL, @RootId = NULL, @MakeId = NULL, @CityId = NULL, 
    @CountOfCarsUpdated = NULL, @Url = NULL, @MakeName = NULL, @RootName = NULL, 
    @CityName = NULL, @Content = NULL, @SellInquiryId = NULL, @SellerType = NULL,@imei = NULL;
Run Code Online (Sandbox Code Playgroud)

我有这么多变量,我得到这个错误.

但是,当我SET单独为每个默认分配放置它的工作正常但这太冗长了.

我该如何纠正?

sql t-sql sql-server

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

FluentValidation:如何将bool作为必填字段,将'false'作为有效输入?

public bool IsDefault { get; set; }

RuleFor(stockImage => stockImage.IsDefault).NotNull();

我有这个规则,IsDefaultboolean属性不应该为null.问题是当客户端在命中api时没有传递此字段,IsDefault将默认布尔属性设置为false并且不提供任何错误,例如"此字段是必需的".

如何根据需要将此字段设为"true"或"false"作为其唯一有效输入?

我试过的一个解决方案就是:

RuleFor(stockImage => stockImage.IsDefault).NotEmpty();

这个问题是它在IsDefault"假" 时给出验证错误,这不是预期的用例.

c# fluentvalidation

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

fluentvalidation错误消息包含c#属性名称,而不包含客户端json属性名称?

我有一个C#WebApi项目,并且正在使用FluentValidation.WebApi包来验证客户端输入。

下面是我的模型类代码,它具有名为“ IsPremium”的C#属性。对于所有客户端,此属性均具有json名称“ isLuxury”。

[Serializable, JsonObject, Validator(typeof(ProductValidator))]
public class Product
{
    [JsonProperty("isLuxury")]
    public bool? IsPremium { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的验证器类如下所示:

public class ProductValidator : AbstractValidator<Product>
    {
        public ProductValidator()
        {
            RuleFor(product => product.isPremium).NotNull();
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以对于这样的请求: http:// localhost:52664 / api / product

请求正文:{“ isLuxury”:“”}

我收到以下错误:

{
  "Message": "The request is invalid.",
  "ModelState": {
    "product.isPremium": [
      "'is Premium' must not be empty."
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

流利的选择了C#属性名称,这对客户端没有意义,因为它知道它是“ isLuxury”。如何强制Fluent从json属性而不是c#属性中选择名称,以提供更好的验证,例如“'isLuxury'不能为空。”?

如果不可能的话,我将不得不重命名我所有的C#属性,使其具有与公开给所有客户端的json相同的名称。请提出您是否还有其他更好的方法来解决此问题。

c# json fluentvalidation asp.net-web-api

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

c#将decimal转换为逗号分隔的字符串

我想将十进制转换为逗号分隔的字符串为INR货币

1.59 => 1.59
11.59 => 11.59
111.59 => 111.59
1111.59 => 1,111.59
11111.59 => 11,111.59
111111.59 => 1,11,111.59
1111111.59 => 11,11,111.59
11111111.59 => 1,11,11,111.59
111111111.59 => 11,11,11,111.59
1111111111.59 => 111,11,11,111.59
Run Code Online (Sandbox Code Playgroud)

我们怎样才能做到这一点?

c#

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

将满足条件的列表元素移动到列表顶部

我想将特定号码移到此列表的顶部.

int numberToBeMovedOnTop = 4;
List<int> lst = new List<int>(){1, 2, 3, 4, 5, 5, 4, 7, 9, 4, 2, 1};
List<int> lstOdd = lst.FindAll(l => l == numberToBeMovedOnTop);
lstOdd.AddRange(lst.FindAll(l => l != numberToBeMovedOnTop));
Run Code Online (Sandbox Code Playgroud)

numberToBeMovedOnTop变量在哪里?

这给了我想要的结果,但对此更好的解决方案?我可以迭代列表一次并交换第numberToBeMovedOnTop一个元素的第一个出现,第二numberToBeMovedOnTop个元素的第二个出现,依此类推.但是这可以通过一些内置的C#函数来完成,而无需迭代列表两次吗?

c#

0
推荐指数
1
解决办法
93
查看次数