小编Kot*_*ote的帖子

MVC不验证空字符串

我有剃刀文件,我用字符串的文本框定义html表单:

    @using (Html.BeginForm()) {
        @Html.ValidationSummary(true)
        <fieldset>
        <legend>Product</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Name)
            @Html.ValidationMessageFor(model => model.Name)
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
        </fieldset>
     }
Run Code Online (Sandbox Code Playgroud)

问题是,我希望这个字段(model.name)不可为空,但剃刀验证允许字符串为空,当我将空字符串添加到模型时它会给出错误.任何建议如何验证这个字符串不再是空的?

c# asp.net-mvc razor

10
推荐指数
2
解决办法
3万
查看次数

带过滤功能的 F# List.mapi 函数

我有这样一行代码:

list |> List.mapi (fun i x -> y, i)
Run Code Online (Sandbox Code Playgroud)

(假设 y 是已经定义的类型)

但我想返回具有某些条件的元素(例如过滤它)

我不能这样写:

 list |> List.mapi (fun i x -> if 'condition' then y, i)
Run Code Online (Sandbox Code Playgroud)

因为它也需要其他条件,而我没有“其他”情况。我也没有设法同时使用过滤器,因为我还需要返回正确的索引,如果我过滤列表,索引将被更改。有任何想法吗?

编辑 到现在为止,我是这样实现的:

list |> List.mapi (fun i a -> if (a = None) then O, i else X, i) |> List.filter (fun (a,i) -> a = O)
Run Code Online (Sandbox Code Playgroud)

对于其他情况,我给出了无用的 X,我只是为了能够在此之后写入条件并删除 X 条件。它起作用了,这就是我想要的结果。但我相信有更好的解决方案。

f# list filter

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

与字符串匹配的Elixir方法模式匹配

有没有办法在参数匹配中包含String contains/regex?例如,字符串是"发生了一些错误".但我希望它匹配子串"发生错误".我试过这个,但它不起作用:

  defp status({:error, ~r/error happened/}, state) do

  end
Run Code Online (Sandbox Code Playgroud)

elixir pattern-matching

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

使用正则表达式匹配文本中的所有IP地址

假设我有一个可能包含一个或多个IP地址的字符串.如何在ruby中使用正则表达式匹配所有这些并且只有有效的?

目前,我的解决方案如下所示:

IP_ADDR_REGEX = %r{
  \b
  (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
  (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
  (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
  (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
  \b
}x
Run Code Online (Sandbox Code Playgroud)

当IP用空格分隔时,这很有效,例如它192.168.1.1从文本中提取bla bla 192.168.1.1 bla.然而,192.168.1.1在这种情况下它仍然提取:bla bla 192.168.1.1.1.1 bla.

如何使它不匹配这种情况?即当它是192.168.1.1.1.1我的正则表达式不应该返回匹配.我找了很多关于这个问题的解决方案但找不到我想要的东西.我也试图通过最后只匹配空格来找出解决方案(因为\b匹配一个.字符)但我无法使它工作.谢谢

ruby regex ipv4

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

Elixir获取地图,其中包含特定字段的最大值

我是Elixir编程语言的初学者。

我有一个类似这样的对象:

{
  id: uuid,
  created_at: DateTime.t,
  updated_at: DateTime.t,
  type: my_type
}
Run Code Online (Sandbox Code Playgroud)

假设my_type是其中之一~w[A B C D]

我想编写一个函数,其中包含这些对象的列表并返回以下映射:

%{
  A: 120,
  B: 220,
  C: 560,
  D: 0,
  any: 560
} 
Run Code Online (Sandbox Code Playgroud)

此外,这里的值还必须是每+ updated_atcreated_atcolumn(Timex.diff(updated_at, created_at, :seconds))之间的最大差。在的情况下,在不考虑并采取列表中的所有对象之间的最大值。my_typeanyanymy_type

在Elixir中做这件事的最好方法是什么?谢谢。

functional-programming elixir

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

如何从 Postgres 中的列中删除不间断空格

试图从一个字段中删除一个不间断的空间,但没有任何成功。我试过了

execute <<-SQL
  UPDATE customers
  SET name = TRIM (name)
SQL
Run Code Online (Sandbox Code Playgroud)

但这只会删除空格。这是与this类似的问题,但我需要它用于Postgres(Postgres抱怨syntax error at or near "x00A0")并且我只需要修剪即它必须仅在文本的开头和结尾删除。

谢谢

postgresql trim non-breaking-characters

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

f#是否需要线性时间来获取数组的最后一个元素

对于任意n,访问的最后一个元素

[|1 .. n|] 
Run Code Online (Sandbox Code Playgroud)

将采用线性时间(作为n的函数).

这是真是假?

arrays f#

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