我们的情况是用户无法在文本框中输入15个连续数字(即411111111111111),因此我们使用mvc中的数据注释验证它?
答案 0 :(得分:1)
您可以使用df = df.set_index('Placement# Name')
df['Date'] = df['Date'].dt.strftime('%M-%d-%Y')
df_sub = df[['Delivered Impressions','Clicks','Conversion','Spend']].sum(level=0)\
.assign(Date='Subtotal')
df_sub['CTR'] = df_sub['Clicks'] / df_sub['Delivered Impressions']
df_sub['eCPA'] = df_sub['Spend'] / df_sub['Conversion']
df_out = pd.concat([df, df_sub]).set_index('Date',append=True).sort_index(level=0)
startline = 0
writer = pd.ExcelWriter('testxls.xlsx', engine='openpyxl')
for n,g in df_out.groupby(level=0):
g.to_excel(writer, startrow=startline, index=True)
startline += len(g)+2
writer.save()
属性来提供客户端和服务器端验证
[ReqularExpression]
否定前瞻 - [RegularExpression(@"^((?!\d{15}).)*$)", ErrorMessage = "The value cannot contain 15 or more consecutive digits")]
public string YourProperty { get; set; }
- 指定如果有15个(或更多)连续数字,则匹配将被丢弃且无效。
请参阅RegExr以获取有关正则表达式和一些测试用例的更详细说明(为简单起见,使用3位数字)。
答案 1 :(得分:0)
如果文本框不是多行,请尝试设置其MaxLength属性:
<asp:TextBox ID="tb1" runat="server" MaxLength="15"></asp:TextBox>
编辑:由于您的最大长度为50,并且您想要检查是否输入了15个连续数字,您可以尝试使用&#39;按键&#39;事件:
<script type="text/javascript">
$(function () {
$("#<%=tb1.ClientID %>").keypress(function () {
/* check here if the textbox' data is valid */
});
});
</script>
虽然
,但它不会帮助您复制/粘贴操作