mirror of https://github.com/abpframework/abp.git
committed by
GitHub
374 changed files with 61444 additions and 94 deletions
@ -0,0 +1,9 @@ |
|||||
|
namespace Volo.Abp.Caching |
||||
|
{ |
||||
|
public interface IDistributedCacheSerializer |
||||
|
{ |
||||
|
byte[] Serialize<T>(T obj); |
||||
|
|
||||
|
T Deserialize<T>(byte[] bytes); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,26 @@ |
|||||
|
using System.Text; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
using Volo.Abp.Json; |
||||
|
|
||||
|
namespace Volo.Abp.Caching |
||||
|
{ |
||||
|
public class Utf8JsonDistributedCacheSerializer : IDistributedCacheSerializer, ITransientDependency |
||||
|
{ |
||||
|
protected IJsonSerializer JsonSerializer { get; } |
||||
|
|
||||
|
public Utf8JsonDistributedCacheSerializer(IJsonSerializer jsonSerializer) |
||||
|
{ |
||||
|
JsonSerializer = jsonSerializer; |
||||
|
} |
||||
|
|
||||
|
public byte[] Serialize<T>(T obj) |
||||
|
{ |
||||
|
return Encoding.UTF8.GetBytes(JsonSerializer.Serialize(obj)); |
||||
|
} |
||||
|
|
||||
|
public T Deserialize<T>(byte[] bytes) |
||||
|
{ |
||||
|
return (T)JsonSerializer.Deserialize(typeof(T), Encoding.UTF8.GetString(bytes)); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
using System.Security.Claims; |
||||
|
using JetBrains.Annotations; |
||||
|
using Volo.Abp.MultiTenancy; |
||||
|
|
||||
|
namespace System.Security.Principal |
||||
|
{ |
||||
|
public static class AbpMultiTenancyClaimsIdentityExtensions |
||||
|
{ |
||||
|
public static MultiTenancySides GetMultiTenancySide([NotNull] this IIdentity identity) |
||||
|
{ |
||||
|
var tenantId = identity.FindTenantId(); |
||||
|
return tenantId.HasValue |
||||
|
? MultiTenancySides.Tenant |
||||
|
: MultiTenancySides.Host; |
||||
|
} |
||||
|
|
||||
|
public static MultiTenancySides GetMultiTenancySide([NotNull] this ClaimsPrincipal principal) |
||||
|
{ |
||||
|
var tenantId = principal.FindTenantId(); |
||||
|
return tenantId.HasValue |
||||
|
? MultiTenancySides.Tenant |
||||
|
: MultiTenancySides.Host; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1 @@ |
|||||
|
demo/Volo.ClientSimulation.Demo/Logs/logs.txt |
||||
@ -0,0 +1,46 @@ |
|||||
|
|
||||
|
Microsoft Visual Studio Solution File, Format Version 12.00 |
||||
|
# Visual Studio 15 |
||||
|
VisualStudioVersion = 15.0.28307.168 |
||||
|
MinimumVisualStudioVersion = 10.0.40219.1 |
||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{42503D63-D292-4A18-8ECE-8270167DD842}" |
||||
|
EndProject |
||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.ClientSimulation", "src\Volo.ClientSimulation\Volo.ClientSimulation.csproj", "{BB780A98-727D-49CF-9A4C-91E6EA7047AD}" |
||||
|
EndProject |
||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{61863D05-6DA0-4730-9A38-77D1AE304268}" |
||||
|
EndProject |
||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.ClientSimulation.Demo", "demo\Volo.ClientSimulation.Demo\Volo.ClientSimulation.Demo.csproj", "{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0}" |
||||
|
EndProject |
||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.ClientSimulation.Web", "src\Volo.ClientSimulation.Web\Volo.ClientSimulation.Web.csproj", "{1888142B-23AE-45C5-8AE8-43920066D8D8}" |
||||
|
EndProject |
||||
|
Global |
||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
|
Debug|Any CPU = Debug|Any CPU |
||||
|
Release|Any CPU = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
|
{BB780A98-727D-49CF-9A4C-91E6EA7047AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{BB780A98-727D-49CF-9A4C-91E6EA7047AD}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{BB780A98-727D-49CF-9A4C-91E6EA7047AD}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{BB780A98-727D-49CF-9A4C-91E6EA7047AD}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
{1888142B-23AE-45C5-8AE8-43920066D8D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{1888142B-23AE-45C5-8AE8-43920066D8D8}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{1888142B-23AE-45C5-8AE8-43920066D8D8}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{1888142B-23AE-45C5-8AE8-43920066D8D8}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionProperties) = preSolution |
||||
|
HideSolutionNode = FALSE |
||||
|
EndGlobalSection |
||||
|
GlobalSection(NestedProjects) = preSolution |
||||
|
{BB780A98-727D-49CF-9A4C-91E6EA7047AD} = {42503D63-D292-4A18-8ECE-8270167DD842} |
||||
|
{B5BFE88A-60B6-4289-969A-1A72BF6DFDF0} = {61863D05-6DA0-4730-9A38-77D1AE304268} |
||||
|
{1888142B-23AE-45C5-8AE8-43920066D8D8} = {42503D63-D292-4A18-8ECE-8270167DD842} |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ExtensibilityGlobals) = postSolution |
||||
|
SolutionGuid = {1AF598E1-2012-47B4-A591-ADC9F327600A} |
||||
|
EndGlobalSection |
||||
|
EndGlobal |
||||
@ -0,0 +1,11 @@ |
|||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Components; |
||||
|
using Volo.Abp.DependencyInjection; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo |
||||
|
{ |
||||
|
[Dependency(ReplaceServices = true)] |
||||
|
public class BrandingProvider : DefaultBrandingProvider |
||||
|
{ |
||||
|
public override string AppName => "Client Simulation"; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,47 @@ |
|||||
|
using Microsoft.AspNetCore.Builder; |
||||
|
using Microsoft.AspNetCore.Hosting; |
||||
|
using Volo.Abp; |
||||
|
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; |
||||
|
using Volo.Abp.Autofac; |
||||
|
using Volo.Abp.Modularity; |
||||
|
using Volo.ClientSimulation.Demo.Scenarios; |
||||
|
using Volo.ClientSimulation.Scenarios; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo |
||||
|
{ |
||||
|
[DependsOn( |
||||
|
typeof(AbpAspNetCoreMvcUiBasicThemeModule), |
||||
|
typeof(AbpAutofacModule), |
||||
|
typeof(ClientSimulationWebModule) |
||||
|
)] |
||||
|
public class ClientSimulationDemoModule : AbpModule |
||||
|
{ |
||||
|
public override void ConfigureServices(ServiceConfigurationContext context) |
||||
|
{ |
||||
|
Configure<ClientSimulationOptions>(options => |
||||
|
{ |
||||
|
options.Scenarios.Add( |
||||
|
new ScenarioConfiguration( |
||||
|
typeof(DemoScenario), |
||||
|
clientCount: 20 |
||||
|
) |
||||
|
); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
public override void OnApplicationInitialization(ApplicationInitializationContext context) |
||||
|
{ |
||||
|
var app = context.GetApplicationBuilder(); |
||||
|
var env = context.GetEnvironment(); |
||||
|
|
||||
|
if (env.IsDevelopment()) |
||||
|
{ |
||||
|
app.UseDeveloperExceptionPage(); |
||||
|
} |
||||
|
|
||||
|
app.UseVirtualFiles(); |
||||
|
|
||||
|
app.UseMvcWithDefaultRoute(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using Volo.Abp.AspNetCore.Mvc; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo.Controllers |
||||
|
{ |
||||
|
public class HomeController : AbpController |
||||
|
{ |
||||
|
public ActionResult Index() |
||||
|
{ |
||||
|
return Redirect("/ClientSimulation"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,4 @@ |
|||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
||||
|
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI |
||||
|
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap |
||||
|
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling |
||||
@ -0,0 +1,46 @@ |
|||||
|
using System; |
||||
|
using System.IO; |
||||
|
using Microsoft.AspNetCore.Hosting; |
||||
|
using Serilog; |
||||
|
using Serilog.Events; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo |
||||
|
{ |
||||
|
public class Program |
||||
|
{ |
||||
|
public static int Main(string[] args) |
||||
|
{ |
||||
|
Log.Logger = new LoggerConfiguration() |
||||
|
.MinimumLevel.Debug() |
||||
|
.MinimumLevel.Override("Microsoft", LogEventLevel.Information) |
||||
|
.Enrich.FromLogContext() |
||||
|
.WriteTo.File("Logs/logs.txt") |
||||
|
.CreateLogger(); |
||||
|
|
||||
|
try |
||||
|
{ |
||||
|
Log.Information("Starting web host."); |
||||
|
BuildWebHostInternal(args).Run(); |
||||
|
return 0; |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
Log.Fatal(ex, "Host terminated unexpectedly!"); |
||||
|
return 1; |
||||
|
} |
||||
|
finally |
||||
|
{ |
||||
|
Log.CloseAndFlush(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static IWebHost BuildWebHostInternal(string[] args) => |
||||
|
new WebHostBuilder() |
||||
|
.UseKestrel() |
||||
|
.UseContentRoot(Directory.GetCurrentDirectory()) |
||||
|
.UseIISIntegration() |
||||
|
.UseStartup<Startup>() |
||||
|
.UseSerilog() |
||||
|
.Build(); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
{ |
||||
|
"iisSettings": { |
||||
|
"windowsAuthentication": false, |
||||
|
"anonymousAuthentication": true, |
||||
|
"iisExpress": { |
||||
|
"applicationUrl": "http://localhost:62395", |
||||
|
"sslPort": 0 |
||||
|
} |
||||
|
}, |
||||
|
"profiles": { |
||||
|
"IIS Express": { |
||||
|
"commandName": "IISExpress", |
||||
|
"launchBrowser": true, |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
}, |
||||
|
"Volo.ClientSimulation.Web": { |
||||
|
"commandName": "Project", |
||||
|
"launchBrowser": true, |
||||
|
"applicationUrl": "http://localhost:5000", |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,14 @@ |
|||||
|
using Volo.Abp; |
||||
|
using Volo.ClientSimulation.Scenarios; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo.Scenarios |
||||
|
{ |
||||
|
public class DemoScenario : Scenario |
||||
|
{ |
||||
|
public DemoScenario() |
||||
|
{ |
||||
|
AddStep(new SleepScenarioStep(RandomHelper.GetRandom(1000, 5000))); |
||||
|
AddStep(new SleepScenarioStep(RandomHelper.GetRandom(2000, 6000))); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
using System; |
||||
|
using Microsoft.AspNetCore.Builder; |
||||
|
using Microsoft.Extensions.DependencyInjection; |
||||
|
using Volo.Abp; |
||||
|
|
||||
|
namespace Volo.ClientSimulation.Demo |
||||
|
{ |
||||
|
public class Startup |
||||
|
{ |
||||
|
public IServiceProvider ConfigureServices(IServiceCollection services) |
||||
|
{ |
||||
|
services.AddApplication<ClientSimulationDemoModule>(options => |
||||
|
{ |
||||
|
options.UseAutofac(); |
||||
|
}); |
||||
|
|
||||
|
return services.BuildServiceProviderFromFactory(); |
||||
|
} |
||||
|
|
||||
|
public void Configure(IApplicationBuilder app) |
||||
|
{ |
||||
|
app.InitializeApplication(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,35 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk.Web"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="Microsoft.AspNetCore.App" /> |
||||
|
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> |
||||
|
<PackageReference Include="Serilog.AspNetCore" Version="2.1.1" /> |
||||
|
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" /> |
||||
|
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" /> |
||||
|
<ProjectReference Include="..\..\src\Volo.ClientSimulation.Web\Volo.ClientSimulation.Web.csproj" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<Compile Remove="Logs\**" /> |
||||
|
<Content Remove="Logs\**" /> |
||||
|
<EmbeddedResource Remove="Logs\**" /> |
||||
|
<None Remove="Logs\**" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<Content Remove="compilerconfig.json" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<None Include="compilerconfig.json" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
||||
@ -0,0 +1,8 @@ |
|||||
|
module.exports = { |
||||
|
aliases: { |
||||
|
|
||||
|
}, |
||||
|
mappings: { |
||||
|
|
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
[ |
||||
|
{ |
||||
|
"outputFile": "Pages/ClientSimulation/SimulationArea.css", |
||||
|
"inputFile": "Pages/ClientSimulation/SimulationArea.scss" |
||||
|
} |
||||
|
] |
||||
@ -0,0 +1,63 @@ |
|||||
|
{ |
||||
|
"compilers": { |
||||
|
"less": { |
||||
|
"autoPrefix": "", |
||||
|
"cssComb": "none", |
||||
|
"ieCompat": true, |
||||
|
"strictMath": false, |
||||
|
"strictUnits": false, |
||||
|
"relativeUrls": true, |
||||
|
"rootPath": "", |
||||
|
"sourceMapRoot": "", |
||||
|
"sourceMapBasePath": "", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"sass": { |
||||
|
"autoPrefix": "", |
||||
|
"includePath": "", |
||||
|
"indentType": "space", |
||||
|
"indentWidth": 2, |
||||
|
"outputStyle": "nested", |
||||
|
"Precision": 5, |
||||
|
"relativeUrls": true, |
||||
|
"sourceMapRoot": "", |
||||
|
"lineFeed": "", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"stylus": { |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"babel": { |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"coffeescript": { |
||||
|
"bare": false, |
||||
|
"runtimeMode": "node", |
||||
|
"sourceMap": false |
||||
|
}, |
||||
|
"handlebars": { |
||||
|
"root": "", |
||||
|
"noBOM": false, |
||||
|
"name": "", |
||||
|
"namespace": "", |
||||
|
"knownHelpersOnly": false, |
||||
|
"forcePartial": false, |
||||
|
"knownHelpers": [], |
||||
|
"commonjs": "", |
||||
|
"amd": false, |
||||
|
"sourceMap": false |
||||
|
} |
||||
|
}, |
||||
|
"minifiers": { |
||||
|
"css": { |
||||
|
"enabled": true, |
||||
|
"termSemicolons": true, |
||||
|
"gzip": false |
||||
|
}, |
||||
|
"javascript": { |
||||
|
"enabled": true, |
||||
|
"termSemicolons": true, |
||||
|
"gzip": false |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
"use strict"; |
||||
|
|
||||
|
var gulp = require("gulp"), |
||||
|
path = require('path'), |
||||
|
copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); |
||||
|
|
||||
|
copyResources.init(path.resolve('./')); |
||||
|
|
||||
|
gulp.task('default', [copyResources.taskName], function () { |
||||
|
|
||||
|
}); |
||||
@ -0,0 +1,8 @@ |
|||||
|
{ |
||||
|
"version": "0.1.0", |
||||
|
"name": "client-simulation-web", |
||||
|
"private": true, |
||||
|
"dependencies": { |
||||
|
"@abp/aspnetcore.mvc.ui.theme.basic": "^0.4.9" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,546 @@ |
|||||
|
var abp = abp || {}; |
||||
|
(function () { |
||||
|
|
||||
|
/* Application paths *****************************************/ |
||||
|
|
||||
|
//Current application root path (including virtual directory if exists).
|
||||
|
abp.appPath = abp.appPath || '/'; |
||||
|
|
||||
|
abp.pageLoadTime = new Date(); |
||||
|
|
||||
|
//Converts given path to absolute path using abp.appPath variable.
|
||||
|
abp.toAbsAppPath = function (path) { |
||||
|
if (path.indexOf('/') == 0) { |
||||
|
path = path.substring(1); |
||||
|
} |
||||
|
|
||||
|
return abp.appPath + path; |
||||
|
}; |
||||
|
|
||||
|
/* LOGGING ***************************************************/ |
||||
|
//Implements Logging API that provides secure & controlled usage of console.log
|
||||
|
|
||||
|
abp.log = abp.log || {}; |
||||
|
|
||||
|
abp.log.levels = { |
||||
|
DEBUG: 1, |
||||
|
INFO: 2, |
||||
|
WARN: 3, |
||||
|
ERROR: 4, |
||||
|
FATAL: 5 |
||||
|
}; |
||||
|
|
||||
|
abp.log.level = abp.log.levels.DEBUG; |
||||
|
|
||||
|
abp.log.log = function (logObject, logLevel) { |
||||
|
if (!window.console || !window.console.log) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (logLevel != undefined && logLevel < abp.log.level) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
console.log(logObject); |
||||
|
}; |
||||
|
|
||||
|
abp.log.debug = function (logObject) { |
||||
|
abp.log.log("DEBUG: ", abp.log.levels.DEBUG); |
||||
|
abp.log.log(logObject, abp.log.levels.DEBUG); |
||||
|
}; |
||||
|
|
||||
|
abp.log.info = function (logObject) { |
||||
|
abp.log.log("INFO: ", abp.log.levels.INFO); |
||||
|
abp.log.log(logObject, abp.log.levels.INFO); |
||||
|
}; |
||||
|
|
||||
|
abp.log.warn = function (logObject) { |
||||
|
abp.log.log("WARN: ", abp.log.levels.WARN); |
||||
|
abp.log.log(logObject, abp.log.levels.WARN); |
||||
|
}; |
||||
|
|
||||
|
abp.log.error = function (logObject) { |
||||
|
abp.log.log("ERROR: ", abp.log.levels.ERROR); |
||||
|
abp.log.log(logObject, abp.log.levels.ERROR); |
||||
|
}; |
||||
|
|
||||
|
abp.log.fatal = function (logObject) { |
||||
|
abp.log.log("FATAL: ", abp.log.levels.FATAL); |
||||
|
abp.log.log(logObject, abp.log.levels.FATAL); |
||||
|
}; |
||||
|
|
||||
|
/* LOCALIZATION ***********************************************/ |
||||
|
|
||||
|
abp.localization = abp.localization || {}; |
||||
|
|
||||
|
abp.localization.values = {}; |
||||
|
|
||||
|
abp.localization.localize = function (key, sourceName) { |
||||
|
sourceName = sourceName || abp.localization.defaultResourceName; |
||||
|
|
||||
|
var source = abp.localization.values[sourceName]; |
||||
|
|
||||
|
if (!source) { |
||||
|
abp.log.warn('Could not find localization source: ' + sourceName); |
||||
|
return key; |
||||
|
} |
||||
|
|
||||
|
var value = source[key]; |
||||
|
if (value == undefined) { |
||||
|
return key; |
||||
|
} |
||||
|
|
||||
|
var copiedArguments = Array.prototype.slice.call(arguments, 0); |
||||
|
copiedArguments.splice(1, 1); |
||||
|
copiedArguments[0] = value; |
||||
|
|
||||
|
return abp.utils.formatString.apply(this, copiedArguments); |
||||
|
}; |
||||
|
|
||||
|
abp.localization.getResource = function (name) { |
||||
|
return function () { |
||||
|
var copiedArguments = Array.prototype.slice.call(arguments, 0); |
||||
|
copiedArguments.splice(1, 0, name); |
||||
|
return abp.localization.localize.apply(this, copiedArguments); |
||||
|
}; |
||||
|
}; |
||||
|
|
||||
|
abp.localization.defaultResourceName = undefined; |
||||
|
|
||||
|
/* AUTHORIZATION **********************************************/ |
||||
|
|
||||
|
abp.auth = abp.auth || {}; |
||||
|
|
||||
|
abp.auth.policies = abp.auth.policies || {}; |
||||
|
|
||||
|
abp.auth.grantedPolicies = abp.auth.grantedPolicies || {}; |
||||
|
|
||||
|
abp.auth.isGranted = function (policyName) { |
||||
|
return abp.auth.policies[policyName] != undefined && abp.auth.grantedPolicies[policyName] != undefined; |
||||
|
}; |
||||
|
|
||||
|
abp.auth.isAnyGranted = function () { |
||||
|
if (!arguments || arguments.length <= 0) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
for (var i = 0; i < arguments.length; i++) { |
||||
|
if (abp.auth.isGranted(arguments[i])) { |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return false; |
||||
|
}; |
||||
|
|
||||
|
abp.auth.areAllGranted = function () { |
||||
|
if (!arguments || arguments.length <= 0) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
for (var i = 0; i < arguments.length; i++) { |
||||
|
if (!abp.auth.isGranted(arguments[i])) { |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return true; |
||||
|
}; |
||||
|
|
||||
|
abp.auth.tokenCookieName = 'Abp.AuthToken'; |
||||
|
|
||||
|
abp.auth.setToken = function (authToken, expireDate) { |
||||
|
abp.utils.setCookieValue(abp.auth.tokenCookieName, authToken, expireDate, abp.appPath, abp.domain); |
||||
|
}; |
||||
|
|
||||
|
abp.auth.getToken = function () { |
||||
|
return abp.utils.getCookieValue(abp.auth.tokenCookieName); |
||||
|
} |
||||
|
|
||||
|
abp.auth.clearToken = function () { |
||||
|
abp.auth.setToken(); |
||||
|
} |
||||
|
|
||||
|
/* NOTIFICATION *********************************************/ |
||||
|
//Defines Notification API, not implements it
|
||||
|
|
||||
|
abp.notify = abp.notify || {}; |
||||
|
|
||||
|
abp.notify.success = function (message, title, options) { |
||||
|
abp.log.warn('abp.notify.success is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
abp.notify.info = function (message, title, options) { |
||||
|
abp.log.warn('abp.notify.info is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
abp.notify.warn = function (message, title, options) { |
||||
|
abp.log.warn('abp.notify.warn is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
abp.notify.error = function (message, title, options) { |
||||
|
abp.log.warn('abp.notify.error is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
/* MESSAGE **************************************************/ |
||||
|
//Defines Message API, not implements it
|
||||
|
|
||||
|
abp.message = abp.message || {}; |
||||
|
|
||||
|
abp.message._showMessage = function (message, title) { |
||||
|
alert((title || '') + ' ' + message); |
||||
|
}; |
||||
|
|
||||
|
abp.message.info = function (message, title) { |
||||
|
abp.log.warn('abp.message.info is not implemented!'); |
||||
|
return abp.message._showMessage(message, title); |
||||
|
}; |
||||
|
|
||||
|
abp.message.success = function (message, title) { |
||||
|
abp.log.warn('abp.message.success is not implemented!'); |
||||
|
return abp.message._showMessage(message, title); |
||||
|
}; |
||||
|
|
||||
|
abp.message.warn = function (message, title) { |
||||
|
abp.log.warn('abp.message.warn is not implemented!'); |
||||
|
return abp.message._showMessage(message, title); |
||||
|
}; |
||||
|
|
||||
|
abp.message.error = function (message, title) { |
||||
|
abp.log.warn('abp.message.error is not implemented!'); |
||||
|
return abp.message._showMessage(message, title); |
||||
|
}; |
||||
|
|
||||
|
abp.message.confirm = function (message, titleOrCallback, callback) { |
||||
|
abp.log.warn('abp.message.confirm is not properly implemented!'); |
||||
|
|
||||
|
if (titleOrCallback && !(typeof titleOrCallback == 'string')) { |
||||
|
callback = titleOrCallback; |
||||
|
} |
||||
|
|
||||
|
var result = confirm(message); |
||||
|
callback && callback(result); |
||||
|
}; |
||||
|
|
||||
|
/* UI *******************************************************/ |
||||
|
|
||||
|
abp.ui = abp.ui || {}; |
||||
|
|
||||
|
/* UI BLOCK */ |
||||
|
//Defines UI Block API, not implements it
|
||||
|
|
||||
|
abp.ui.block = function (elm) { |
||||
|
abp.log.warn('abp.ui.block is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
abp.ui.unblock = function (elm) { |
||||
|
abp.log.warn('abp.ui.unblock is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
/* UI BUSY */ |
||||
|
//Defines UI Busy API, not implements it
|
||||
|
|
||||
|
abp.ui.setBusy = function (elm, optionsOrPromise) { |
||||
|
abp.log.warn('abp.ui.setBusy is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
abp.ui.clearBusy = function (elm) { |
||||
|
abp.log.warn('abp.ui.clearBusy is not implemented!'); |
||||
|
}; |
||||
|
|
||||
|
/* SIMPLE EVENT BUS *****************************************/ |
||||
|
|
||||
|
abp.event = (function () { |
||||
|
|
||||
|
var _callbacks = {}; |
||||
|
|
||||
|
var on = function (eventName, callback) { |
||||
|
if (!_callbacks[eventName]) { |
||||
|
_callbacks[eventName] = []; |
||||
|
} |
||||
|
|
||||
|
_callbacks[eventName].push(callback); |
||||
|
}; |
||||
|
|
||||
|
var off = function (eventName, callback) { |
||||
|
var callbacks = _callbacks[eventName]; |
||||
|
if (!callbacks) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
var index = -1; |
||||
|
for (var i = 0; i < callbacks.length; i++) { |
||||
|
if (callbacks[i] === callback) { |
||||
|
index = i; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (index < 0) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
_callbacks[eventName].splice(index, 1); |
||||
|
}; |
||||
|
|
||||
|
var trigger = function (eventName) { |
||||
|
var callbacks = _callbacks[eventName]; |
||||
|
if (!callbacks || !callbacks.length) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
var args = Array.prototype.slice.call(arguments, 1); |
||||
|
for (var i = 0; i < callbacks.length; i++) { |
||||
|
callbacks[i].apply(this, args); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// Public interface ///////////////////////////////////////////////////
|
||||
|
|
||||
|
return { |
||||
|
on: on, |
||||
|
off: off, |
||||
|
trigger: trigger |
||||
|
}; |
||||
|
})(); |
||||
|
|
||||
|
|
||||
|
/* UTILS ***************************************************/ |
||||
|
|
||||
|
abp.utils = abp.utils || {}; |
||||
|
|
||||
|
/* Creates a name namespace. |
||||
|
* Example: |
||||
|
* var taskService = abp.utils.createNamespace(abp, 'services.task'); |
||||
|
* taskService will be equal to abp.services.task |
||||
|
* first argument (root) must be defined first |
||||
|
************************************************************/ |
||||
|
abp.utils.createNamespace = function (root, ns) { |
||||
|
var parts = ns.split('.'); |
||||
|
for (var i = 0; i < parts.length; i++) { |
||||
|
if (typeof root[parts[i]] == 'undefined') { |
||||
|
root[parts[i]] = {}; |
||||
|
} |
||||
|
|
||||
|
root = root[parts[i]]; |
||||
|
} |
||||
|
|
||||
|
return root; |
||||
|
}; |
||||
|
|
||||
|
/* Find and replaces a string (search) to another string (replacement) in |
||||
|
* given string (str). |
||||
|
* Example: |
||||
|
* abp.utils.replaceAll('This is a test string', 'is', 'X') = 'ThX X a test string' |
||||
|
************************************************************/ |
||||
|
abp.utils.replaceAll = function (str, search, replacement) { |
||||
|
var fix = search.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); |
||||
|
return str.replace(new RegExp(fix, 'g'), replacement); |
||||
|
}; |
||||
|
|
||||
|
/* Formats a string just like string.format in C#. |
||||
|
* Example: |
||||
|
* abp.utils.formatString('Hello {0}','Tuana') = 'Hello Tuana' |
||||
|
************************************************************/ |
||||
|
abp.utils.formatString = function () { |
||||
|
if (arguments.length < 1) { |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
var str = arguments[0]; |
||||
|
|
||||
|
for (var i = 1; i < arguments.length; i++) { |
||||
|
var placeHolder = '{' + (i - 1) + '}'; |
||||
|
str = abp.utils.replaceAll(str, placeHolder, arguments[i]); |
||||
|
} |
||||
|
|
||||
|
return str; |
||||
|
}; |
||||
|
|
||||
|
abp.utils.toPascalCase = function (str) { |
||||
|
if (!str || !str.length) { |
||||
|
return str; |
||||
|
} |
||||
|
|
||||
|
if (str.length === 1) { |
||||
|
return str.charAt(0).toUpperCase(); |
||||
|
} |
||||
|
|
||||
|
return str.charAt(0).toUpperCase() + str.substr(1); |
||||
|
} |
||||
|
|
||||
|
abp.utils.toCamelCase = function (str) { |
||||
|
if (!str || !str.length) { |
||||
|
return str; |
||||
|
} |
||||
|
|
||||
|
if (str.length === 1) { |
||||
|
return str.charAt(0).toLowerCase(); |
||||
|
} |
||||
|
|
||||
|
return str.charAt(0).toLowerCase() + str.substr(1); |
||||
|
} |
||||
|
|
||||
|
abp.utils.truncateString = function (str, maxLength) { |
||||
|
if (!str || !str.length || str.length <= maxLength) { |
||||
|
return str; |
||||
|
} |
||||
|
|
||||
|
return str.substr(0, maxLength); |
||||
|
}; |
||||
|
|
||||
|
abp.utils.truncateStringWithPostfix = function (str, maxLength, postfix) { |
||||
|
postfix = postfix || '...'; |
||||
|
|
||||
|
if (!str || !str.length || str.length <= maxLength) { |
||||
|
return str; |
||||
|
} |
||||
|
|
||||
|
if (maxLength <= postfix.length) { |
||||
|
return postfix.substr(0, maxLength); |
||||
|
} |
||||
|
|
||||
|
return str.substr(0, maxLength - postfix.length) + postfix; |
||||
|
}; |
||||
|
|
||||
|
abp.utils.isFunction = function (obj) { |
||||
|
return !!(obj && obj.constructor && obj.call && obj.apply); |
||||
|
}; |
||||
|
|
||||
|
/** |
||||
|
* parameterInfos should be an array of { name, value } objects |
||||
|
* where name is query string parameter name and value is it's value. |
||||
|
* includeQuestionMark is true by default. |
||||
|
*/ |
||||
|
abp.utils.buildQueryString = function (parameterInfos, includeQuestionMark) { |
||||
|
if (includeQuestionMark === undefined) { |
||||
|
includeQuestionMark = true; |
||||
|
} |
||||
|
|
||||
|
var qs = ''; |
||||
|
|
||||
|
function addSeperator() { |
||||
|
if (!qs.length) { |
||||
|
if (includeQuestionMark) { |
||||
|
qs = qs + '?'; |
||||
|
} |
||||
|
} else { |
||||
|
qs = qs + '&'; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
for (var i = 0; i < parameterInfos.length; ++i) { |
||||
|
var parameterInfo = parameterInfos[i]; |
||||
|
if (parameterInfo.value === undefined) { |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
if (parameterInfo.value === null) { |
||||
|
parameterInfo.value = ''; |
||||
|
} |
||||
|
|
||||
|
addSeperator(); |
||||
|
|
||||
|
if (parameterInfo.value.toJSON && typeof parameterInfo.value.toJSON === "function") { |
||||
|
qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value.toJSON()); |
||||
|
} else if (Array.isArray(parameterInfo.value) && parameterInfo.value.length) { |
||||
|
for (var j = 0; j < parameterInfo.value.length; j++) { |
||||
|
if (j > 0) { |
||||
|
addSeperator(); |
||||
|
} |
||||
|
|
||||
|
qs = qs + parameterInfo.name + '[' + j + ']=' + encodeURIComponent(parameterInfo.value[j]); |
||||
|
} |
||||
|
} else { |
||||
|
qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return qs; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Sets a cookie value for given key. |
||||
|
* This is a simple implementation created to be used by ABP. |
||||
|
* Please use a complete cookie library if you need. |
||||
|
* @param {string} key |
||||
|
* @param {string} value |
||||
|
* @param {Date} expireDate (optional). If not specified the cookie will expire at the end of session. |
||||
|
* @param {string} path (optional) |
||||
|
*/ |
||||
|
abp.utils.setCookieValue = function (key, value, expireDate, path) { |
||||
|
var cookieValue = encodeURIComponent(key) + '='; |
||||
|
|
||||
|
if (value) { |
||||
|
cookieValue = cookieValue + encodeURIComponent(value); |
||||
|
} |
||||
|
|
||||
|
if (expireDate) { |
||||
|
cookieValue = cookieValue + "; expires=" + expireDate.toUTCString(); |
||||
|
} |
||||
|
|
||||
|
if (path) { |
||||
|
cookieValue = cookieValue + "; path=" + path; |
||||
|
} |
||||
|
|
||||
|
document.cookie = cookieValue; |
||||
|
}; |
||||
|
|
||||
|
/** |
||||
|
* Gets a cookie with given key. |
||||
|
* This is a simple implementation created to be used by ABP. |
||||
|
* Please use a complete cookie library if you need. |
||||
|
* @param {string} key |
||||
|
* @returns {string} Cookie value or null |
||||
|
*/ |
||||
|
abp.utils.getCookieValue = function (key) { |
||||
|
var equalities = document.cookie.split('; '); |
||||
|
for (var i = 0; i < equalities.length; i++) { |
||||
|
if (!equalities[i]) { |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
var splitted = equalities[i].split('='); |
||||
|
if (splitted.length != 2) { |
||||
|
continue; |
||||
|
} |
||||
|
|
||||
|
if (decodeURIComponent(splitted[0]) === key) { |
||||
|
return decodeURIComponent(splitted[1] || ''); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return null; |
||||
|
}; |
||||
|
|
||||
|
/** |
||||
|
* Deletes cookie for given key. |
||||
|
* This is a simple implementation created to be used by ABP. |
||||
|
* Please use a complete cookie library if you need. |
||||
|
* @param {string} key |
||||
|
* @param {string} path (optional) |
||||
|
*/ |
||||
|
abp.utils.deleteCookie = function (key, path) { |
||||
|
var cookieValue = encodeURIComponent(key) + '='; |
||||
|
|
||||
|
cookieValue = cookieValue + "; expires=" + (new Date(new Date().getTime() - 86400000)).toUTCString(); |
||||
|
|
||||
|
if (path) { |
||||
|
cookieValue = cookieValue + "; path=" + path; |
||||
|
} |
||||
|
|
||||
|
document.cookie = cookieValue; |
||||
|
} |
||||
|
|
||||
|
/* SECURITY ***************************************/ |
||||
|
abp.security = abp.security || {}; |
||||
|
abp.security.antiForgery = abp.security.antiForgery || {}; |
||||
|
|
||||
|
abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN'; |
||||
|
abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN'; |
||||
|
|
||||
|
abp.security.antiForgery.getToken = function () { |
||||
|
return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName); |
||||
|
}; |
||||
|
|
||||
|
})(); |
||||
@ -0,0 +1,389 @@ |
|||||
|
var abp = abp || {}; |
||||
|
(function($) { |
||||
|
|
||||
|
if (!$) { |
||||
|
throw "abp/jquery library requires the jquery library included to the page!"; |
||||
|
} |
||||
|
|
||||
|
// ABP CORE OVERRIDES /////////////////////////////////////////////////////
|
||||
|
|
||||
|
abp.message._showMessage = function (message, title) { |
||||
|
alert((title || '') + ' ' + message); |
||||
|
|
||||
|
return $.Deferred(function ($dfd) { |
||||
|
$dfd.resolve(); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
abp.message.confirm = function (message, titleOrCallback, callback) { |
||||
|
if (titleOrCallback && !(typeof titleOrCallback == 'string')) { |
||||
|
callback = titleOrCallback; |
||||
|
} |
||||
|
|
||||
|
var result = confirm(message); |
||||
|
callback && callback(result); |
||||
|
|
||||
|
return $.Deferred(function ($dfd) { |
||||
|
$dfd.resolve(result); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
abp.utils.isFunction = function (obj) { |
||||
|
return $.isFunction(obj); |
||||
|
}; |
||||
|
|
||||
|
// JQUERY EXTENSIONS //////////////////////////////////////////////////////
|
||||
|
|
||||
|
$.fn.findWithSelf = function (selector) { |
||||
|
return this.filter(selector).add(this.find(selector)); |
||||
|
}; |
||||
|
|
||||
|
// DOM ////////////////////////////////////////////////////////////////////
|
||||
|
|
||||
|
abp.dom = abp.dom || {}; |
||||
|
|
||||
|
abp.dom.onNodeAdded = function (callback) { |
||||
|
abp.event.on('abp.dom.nodeAdded', callback); |
||||
|
}; |
||||
|
|
||||
|
abp.dom.onNodeRemoved = function (callback) { |
||||
|
abp.event.on('abp.dom.nodeRemoved', callback); |
||||
|
}; |
||||
|
|
||||
|
var mutationObserverCallback = function (mutationsList) { |
||||
|
for (var i = 0; i < mutationsList.length; i++) { |
||||
|
var mutation = mutationsList[i]; |
||||
|
if (mutation.type === 'childList') { |
||||
|
if (mutation.addedNodes && mutation.removedNodes.length) { |
||||
|
for (var k = 0; k < mutation.removedNodes.length; k++) { |
||||
|
abp.event.trigger( |
||||
|
'abp.dom.nodeRemoved', |
||||
|
{ |
||||
|
$el: $(mutation.removedNodes[k]) |
||||
|
} |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if (mutation.addedNodes && mutation.addedNodes.length) { |
||||
|
for (var j = 0; j < mutation.addedNodes.length; j++) { |
||||
|
abp.event.trigger( |
||||
|
'abp.dom.nodeAdded', |
||||
|
{ |
||||
|
$el: $(mutation.addedNodes[j]) |
||||
|
} |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
new MutationObserver(mutationObserverCallback).observe( |
||||
|
$('body')[0], |
||||
|
{ |
||||
|
subtree: true, |
||||
|
childList: true |
||||
|
} |
||||
|
); |
||||
|
|
||||
|
// AJAX ///////////////////////////////////////////////////////////////////
|
||||
|
|
||||
|
abp.ajax = function (userOptions) { |
||||
|
userOptions = userOptions || {}; |
||||
|
|
||||
|
var options = $.extend(true, {}, abp.ajax.defaultOpts, userOptions); |
||||
|
|
||||
|
options.success = undefined; |
||||
|
options.error = undefined; |
||||
|
|
||||
|
return $.Deferred(function ($dfd) { |
||||
|
$.ajax(options) |
||||
|
.done(function (data, textStatus, jqXHR) { |
||||
|
$dfd.resolve(data); |
||||
|
userOptions.success && userOptions.success(data); |
||||
|
}).fail(function (jqXHR) { |
||||
|
if (jqXHR.getResponseHeader('_AbpErrorFormat') === 'true') { |
||||
|
abp.ajax.handleAbpErrorResponse(jqXHR, userOptions, $dfd); |
||||
|
} else { |
||||
|
abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd); |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
$.extend(abp.ajax, { |
||||
|
defaultOpts: { |
||||
|
dataType: 'json', |
||||
|
type: 'POST', |
||||
|
contentType: 'application/json', |
||||
|
headers: { |
||||
|
'X-Requested-With': 'XMLHttpRequest' |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
defaultError: { |
||||
|
message: 'An error has occurred!', |
||||
|
details: 'Error detail not sent by server.' |
||||
|
}, |
||||
|
|
||||
|
defaultError401: { |
||||
|
message: 'You are not authenticated!', |
||||
|
details: 'You should be authenticated (sign in) in order to perform this operation.' |
||||
|
}, |
||||
|
|
||||
|
defaultError403: { |
||||
|
message: 'You are not authorized!', |
||||
|
details: 'You are not allowed to perform this operation.' |
||||
|
}, |
||||
|
|
||||
|
defaultError404: { |
||||
|
message: 'Resource not found!', |
||||
|
details: 'The resource requested could not found on the server.' |
||||
|
}, |
||||
|
|
||||
|
logError: function (error) { |
||||
|
abp.log.error(error); |
||||
|
}, |
||||
|
|
||||
|
showError: function (error) { |
||||
|
if (error.details) { |
||||
|
return abp.message.error(error.details, error.message); |
||||
|
} else { |
||||
|
return abp.message.error(error.message || abp.ajax.defaultError.message); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
handleTargetUrl: function (targetUrl) { |
||||
|
if (!targetUrl) { |
||||
|
location.href = abp.appPath; |
||||
|
} else { |
||||
|
location.href = targetUrl; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
handleErrorStatusCode: function (status) { |
||||
|
switch (status) { |
||||
|
case 401: |
||||
|
abp.ajax.handleUnAuthorizedRequest( |
||||
|
abp.ajax.showError(abp.ajax.defaultError401), |
||||
|
abp.appPath |
||||
|
); |
||||
|
break; |
||||
|
case 403: |
||||
|
abp.ajax.showError(abp.ajax.defaultError403); |
||||
|
break; |
||||
|
case 404: |
||||
|
abp.ajax.showError(abp.ajax.defaultError404); |
||||
|
break; |
||||
|
default: |
||||
|
abp.ajax.showError(abp.ajax.defaultError); |
||||
|
break; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
handleNonAbpErrorResponse: function (jqXHR, userOptions, $dfd) { |
||||
|
if (userOptions.abpHandleError !== false) { |
||||
|
abp.ajax.handleErrorStatusCode(jqXHR.status); |
||||
|
} |
||||
|
|
||||
|
$dfd.reject.apply(this, arguments); |
||||
|
userOptions.error && userOptions.error.apply(this, arguments); |
||||
|
}, |
||||
|
|
||||
|
handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { |
||||
|
var messagePromise = null; |
||||
|
|
||||
|
if (userOptions.abpHandleError !== false) { |
||||
|
messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); |
||||
|
} |
||||
|
|
||||
|
abp.ajax.logError(jqXHR.responseJSON.error); |
||||
|
|
||||
|
$dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); |
||||
|
userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); |
||||
|
|
||||
|
if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { |
||||
|
abp.ajax.handleUnAuthorizedRequest(messagePromise); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
handleUnAuthorizedRequest: function (messagePromise, targetUrl) { |
||||
|
if (messagePromise) { |
||||
|
messagePromise.done(function () { |
||||
|
abp.ajax.handleTargetUrl(targetUrl); |
||||
|
}); |
||||
|
} else { |
||||
|
abp.ajax.handleTargetUrl(targetUrl); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
blockUI: function (options) { |
||||
|
if (options.blockUI) { |
||||
|
if (options.blockUI === true) { //block whole page
|
||||
|
abp.ui.setBusy(); |
||||
|
} else { //block an element
|
||||
|
abp.ui.setBusy(options.blockUI); |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
unblockUI: function (options) { |
||||
|
if (options.blockUI) { |
||||
|
if (options.blockUI === true) { //unblock whole page
|
||||
|
abp.ui.clearBusy(); |
||||
|
} else { //unblock an element
|
||||
|
abp.ui.clearBusy(options.blockUI); |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
ajaxSendHandler: function (event, request, settings) { |
||||
|
var token = abp.security.antiForgery.getToken(); |
||||
|
if (!token) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
if (!settings.headers || settings.headers[abp.security.antiForgery.tokenHeaderName] === undefined) { |
||||
|
request.setRequestHeader(abp.security.antiForgery.tokenHeaderName, token); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
$(document).ajaxSend(function (event, request, settings) { |
||||
|
return abp.ajax.ajaxSendHandler(event, request, settings); |
||||
|
}); |
||||
|
|
||||
|
abp.event.on('abp.configurationInitialized', function () { |
||||
|
var l = abp.localization.getResource('AbpUi'); |
||||
|
|
||||
|
abp.ajax.defaultError.message = l('DefaultErrorMessage'); |
||||
|
abp.ajax.defaultError.details = l('DefaultErrorMessageDetail'); |
||||
|
abp.ajax.defaultError401.message = l('DefaultErrorMessage401'); |
||||
|
abp.ajax.defaultError401.details = l('DefaultErrorMessage401Detail'); |
||||
|
abp.ajax.defaultError403.message = l('DefaultErrorMessage403'); |
||||
|
abp.ajax.defaultError403.details = l('DefaultErrorMessage403Detail'); |
||||
|
abp.ajax.defaultError404.message = l('DefaultErrorMessage404'); |
||||
|
abp.ajax.defaultError404.details = l('DefaultErrorMessage404Detail'); |
||||
|
}); |
||||
|
|
||||
|
// RESOURCE LOADER ////////////////////////////////////////////////////////
|
||||
|
|
||||
|
/* UrlStates enum */ |
||||
|
var UrlStates = { |
||||
|
LOADING: 'LOADING', |
||||
|
LOADED: 'LOADED', |
||||
|
FAILED: 'FAILED' |
||||
|
}; |
||||
|
|
||||
|
/* UrlInfo class */ |
||||
|
function UrlInfo(url) { |
||||
|
this.url = url; |
||||
|
this.state = UrlStates.LOADING; |
||||
|
this.loadCallbacks = []; |
||||
|
this.failCallbacks = []; |
||||
|
} |
||||
|
|
||||
|
UrlInfo.prototype.succeed = function () { |
||||
|
this.state = UrlStates.LOADED; |
||||
|
for (var i = 0; i < this.loadCallbacks.length; i++) { |
||||
|
this.loadCallbacks[i](); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
UrlInfo.prototype.failed = function () { |
||||
|
this.state = UrlStates.FAILED; |
||||
|
for (var i = 0; i < this.failCallbacks.length; i++) { |
||||
|
this.failCallbacks[i](); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) { |
||||
|
switch (this.state) { |
||||
|
case UrlStates.LOADED: |
||||
|
loadCallback && loadCallback(); |
||||
|
break; |
||||
|
case UrlStates.FAILED: |
||||
|
failCallback && failCallback(); |
||||
|
break; |
||||
|
case UrlStates.LOADING: |
||||
|
this.addCallbacks(loadCallback, failCallback); |
||||
|
break; |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) { |
||||
|
loadCallback && this.loadCallbacks.push(loadCallback); |
||||
|
failCallback && this.failCallbacks.push(failCallback); |
||||
|
}; |
||||
|
|
||||
|
/* ResourceLoader API */ |
||||
|
|
||||
|
abp.ResourceLoader = (function () { |
||||
|
|
||||
|
var _urlInfos = {}; |
||||
|
|
||||
|
function getCacheKey(url) { |
||||
|
return url; |
||||
|
} |
||||
|
|
||||
|
function appendTimeToUrl(url) { |
||||
|
|
||||
|
if (url.indexOf('?') < 0) { |
||||
|
url += '?'; |
||||
|
} else { |
||||
|
url += '&'; |
||||
|
} |
||||
|
|
||||
|
url += '_=' + new Date().getTime(); |
||||
|
|
||||
|
return url; |
||||
|
} |
||||
|
|
||||
|
var _loadFromUrl = function (url, loadCallback, failCallback, serverLoader) { |
||||
|
|
||||
|
var cacheKey = getCacheKey(url); |
||||
|
|
||||
|
var urlInfo = _urlInfos[cacheKey]; |
||||
|
|
||||
|
if (urlInfo) { |
||||
|
urlInfo.handleCallbacks(loadCallback, failCallback); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
_urlInfos[cacheKey] = urlInfo = new UrlInfo(url); |
||||
|
urlInfo.addCallbacks(loadCallback, failCallback); |
||||
|
|
||||
|
serverLoader(urlInfo); |
||||
|
}; |
||||
|
|
||||
|
var _loadScript = function (url, loadCallback, failCallback) { |
||||
|
_loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { |
||||
|
$.getScript(url) |
||||
|
.done(function () { |
||||
|
urlInfo.succeed(); |
||||
|
}) |
||||
|
.fail(function () { |
||||
|
urlInfo.failed(); |
||||
|
}); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
var _loadStyle = function (url) { |
||||
|
_loadFromUrl(url, undefined, undefined, function (urlInfo) { |
||||
|
|
||||
|
$('<link/>', { |
||||
|
rel: 'stylesheet', |
||||
|
type: 'text/css', |
||||
|
href: appendTimeToUrl(url) |
||||
|
}).appendTo('head'); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
return { |
||||
|
loadScript: _loadScript, |
||||
|
loadStyle: _loadStyle |
||||
|
} |
||||
|
})(); |
||||
|
|
||||
|
})(jQuery); |
||||
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,206 @@ |
|||||
|
table.dataTable { |
||||
|
clear: both; |
||||
|
margin-top: 6px !important; |
||||
|
margin-bottom: 6px !important; |
||||
|
max-width: none !important; |
||||
|
border-collapse: separate !important; |
||||
|
border-spacing: 0; |
||||
|
} |
||||
|
table.dataTable td, |
||||
|
table.dataTable th { |
||||
|
-webkit-box-sizing: content-box; |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
table.dataTable td.dataTables_empty, |
||||
|
table.dataTable th.dataTables_empty { |
||||
|
text-align: center; |
||||
|
} |
||||
|
table.dataTable.nowrap th, |
||||
|
table.dataTable.nowrap td { |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_wrapper div.dataTables_length label { |
||||
|
font-weight: normal; |
||||
|
text-align: left; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_length select { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter { |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter label { |
||||
|
font-weight: normal; |
||||
|
white-space: nowrap; |
||||
|
text-align: left; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_filter input { |
||||
|
margin-left: 0.5em; |
||||
|
display: inline-block; |
||||
|
width: auto; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_info { |
||||
|
padding-top: 0.85em; |
||||
|
white-space: nowrap; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
margin: 0; |
||||
|
white-space: nowrap; |
||||
|
text-align: right; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
||||
|
margin: 2px 0; |
||||
|
white-space: nowrap; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
div.dataTables_wrapper div.dataTables_processing { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
width: 200px; |
||||
|
margin-left: -100px; |
||||
|
margin-top: -26px; |
||||
|
text-align: center; |
||||
|
padding: 1em 0; |
||||
|
} |
||||
|
|
||||
|
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, |
||||
|
table.dataTable thead > tr > td.sorting_asc, |
||||
|
table.dataTable thead > tr > td.sorting_desc, |
||||
|
table.dataTable thead > tr > td.sorting { |
||||
|
padding-right: 30px; |
||||
|
} |
||||
|
table.dataTable thead > tr > th:active, |
||||
|
table.dataTable thead > tr > td:active { |
||||
|
outline: none; |
||||
|
} |
||||
|
table.dataTable thead .sorting, |
||||
|
table.dataTable thead .sorting_asc, |
||||
|
table.dataTable thead .sorting_desc, |
||||
|
table.dataTable thead .sorting_asc_disabled, |
||||
|
table.dataTable thead .sorting_desc_disabled { |
||||
|
cursor: pointer; |
||||
|
position: relative; |
||||
|
} |
||||
|
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, |
||||
|
table.dataTable thead .sorting_asc:before, |
||||
|
table.dataTable thead .sorting_asc:after, |
||||
|
table.dataTable thead .sorting_desc:before, |
||||
|
table.dataTable thead .sorting_desc:after, |
||||
|
table.dataTable thead .sorting_asc_disabled:before, |
||||
|
table.dataTable thead .sorting_asc_disabled:after, |
||||
|
table.dataTable thead .sorting_desc_disabled:before, |
||||
|
table.dataTable thead .sorting_desc_disabled:after { |
||||
|
position: absolute; |
||||
|
bottom: 0.9em; |
||||
|
display: block; |
||||
|
opacity: 0.3; |
||||
|
} |
||||
|
table.dataTable thead .sorting:before, |
||||
|
table.dataTable thead .sorting_asc:before, |
||||
|
table.dataTable thead .sorting_desc:before, |
||||
|
table.dataTable thead .sorting_asc_disabled:before, |
||||
|
table.dataTable thead .sorting_desc_disabled:before { |
||||
|
right: 1em; |
||||
|
content: "\2191"; |
||||
|
} |
||||
|
table.dataTable thead .sorting:after, |
||||
|
table.dataTable thead .sorting_asc:after, |
||||
|
table.dataTable thead .sorting_desc:after, |
||||
|
table.dataTable thead .sorting_asc_disabled:after, |
||||
|
table.dataTable thead .sorting_desc_disabled:after { |
||||
|
right: 0.5em; |
||||
|
content: "\2193"; |
||||
|
} |
||||
|
table.dataTable thead .sorting_asc:before, |
||||
|
table.dataTable thead .sorting_desc:after { |
||||
|
opacity: 1; |
||||
|
} |
||||
|
table.dataTable thead .sorting_asc_disabled:before, |
||||
|
table.dataTable thead .sorting_desc_disabled:after { |
||||
|
opacity: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.dataTable { |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollBody table { |
||||
|
border-top: none; |
||||
|
margin-top: 0 !important; |
||||
|
margin-bottom: 0 !important; |
||||
|
} |
||||
|
div.dataTables_scrollBody table thead .sorting:before, |
||||
|
div.dataTables_scrollBody table thead .sorting_asc:before, |
||||
|
div.dataTables_scrollBody table thead .sorting_desc:before, |
||||
|
div.dataTables_scrollBody table thead .sorting:after, |
||||
|
div.dataTables_scrollBody table thead .sorting_asc:after, |
||||
|
div.dataTables_scrollBody table thead .sorting_desc:after { |
||||
|
display: none; |
||||
|
} |
||||
|
div.dataTables_scrollBody table tbody tr:first-child th, |
||||
|
div.dataTables_scrollBody table tbody tr:first-child td { |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
||||
|
box-sizing: content-box; |
||||
|
} |
||||
|
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
||||
|
margin-top: 0 !important; |
||||
|
border-top: none; |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 767px) { |
||||
|
div.dataTables_wrapper div.dataTables_length, |
||||
|
div.dataTables_wrapper div.dataTables_filter, |
||||
|
div.dataTables_wrapper div.dataTables_info, |
||||
|
div.dataTables_wrapper div.dataTables_paginate { |
||||
|
text-align: center; |
||||
|
} |
||||
|
} |
||||
|
table.dataTable.table-sm > thead > tr > th { |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:before, |
||||
|
table.dataTable.table-sm .sorting_asc:before, |
||||
|
table.dataTable.table-sm .sorting_desc:before { |
||||
|
top: 5px; |
||||
|
right: 0.85em; |
||||
|
} |
||||
|
table.dataTable.table-sm .sorting:after, |
||||
|
table.dataTable.table-sm .sorting_asc:after, |
||||
|
table.dataTable.table-sm .sorting_desc:after { |
||||
|
top: 5px; |
||||
|
} |
||||
|
|
||||
|
table.table-bordered.dataTable th, |
||||
|
table.table-bordered.dataTable td { |
||||
|
border-left-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
||||
|
table.table-bordered.dataTable td:last-child, |
||||
|
table.table-bordered.dataTable td:last-child { |
||||
|
border-right-width: 0; |
||||
|
} |
||||
|
table.table-bordered.dataTable tbody th, |
||||
|
table.table-bordered.dataTable tbody td { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.dataTables_scrollHead table.table-bordered { |
||||
|
border-bottom-width: 0; |
||||
|
} |
||||
|
|
||||
|
div.table-responsive > div.dataTables_wrapper > div.row { |
||||
|
margin: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { |
||||
|
padding-left: 0; |
||||
|
} |
||||
|
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { |
||||
|
padding-right: 0; |
||||
|
} |
||||
@ -0,0 +1,184 @@ |
|||||
|
/*! DataTables Bootstrap 4 integration |
||||
|
* ©2011-2017 SpryMedia Ltd - datatables.net/license |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and |
||||
|
* DataTables 1.10 or newer. |
||||
|
* |
||||
|
* This file sets the defaults and adds options to DataTables to style its |
||||
|
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
|
* for further information. |
||||
|
*/ |
||||
|
(function( factory ){ |
||||
|
if ( typeof define === 'function' && define.amd ) { |
||||
|
// AMD
|
||||
|
define( ['jquery', 'datatables.net'], function ( $ ) { |
||||
|
return factory( $, window, document ); |
||||
|
} ); |
||||
|
} |
||||
|
else if ( typeof exports === 'object' ) { |
||||
|
// CommonJS
|
||||
|
module.exports = function (root, $) { |
||||
|
if ( ! root ) { |
||||
|
root = window; |
||||
|
} |
||||
|
|
||||
|
if ( ! $ || ! $.fn.dataTable ) { |
||||
|
// Require DataTables, which attaches to jQuery, including
|
||||
|
// jQuery if needed and have a $ property so we can access the
|
||||
|
// jQuery object that is used
|
||||
|
$ = require('datatables.net')(root, $).$; |
||||
|
} |
||||
|
|
||||
|
return factory( $, root, root.document ); |
||||
|
}; |
||||
|
} |
||||
|
else { |
||||
|
// Browser
|
||||
|
factory( jQuery, window, document ); |
||||
|
} |
||||
|
}(function( $, window, document, undefined ) { |
||||
|
'use strict'; |
||||
|
var DataTable = $.fn.dataTable; |
||||
|
|
||||
|
|
||||
|
/* Set the defaults for DataTables initialisation */ |
||||
|
$.extend( true, DataTable.defaults, { |
||||
|
dom: |
||||
|
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
||||
|
"<'row'<'col-sm-12'tr>>" + |
||||
|
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
||||
|
renderer: 'bootstrap' |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Default class modification */ |
||||
|
$.extend( DataTable.ext.classes, { |
||||
|
sWrapper: "dataTables_wrapper dt-bootstrap4", |
||||
|
sFilterInput: "form-control form-control-sm", |
||||
|
sLengthSelect: "custom-select custom-select-sm form-control form-control-sm", |
||||
|
sProcessing: "dataTables_processing card", |
||||
|
sPageButton: "paginate_button page-item" |
||||
|
} ); |
||||
|
|
||||
|
|
||||
|
/* Bootstrap paging button renderer */ |
||||
|
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
||||
|
var api = new DataTable.Api( settings ); |
||||
|
var classes = settings.oClasses; |
||||
|
var lang = settings.oLanguage.oPaginate; |
||||
|
var aria = settings.oLanguage.oAria.paginate || {}; |
||||
|
var btnDisplay, btnClass, counter=0; |
||||
|
|
||||
|
var attach = function( container, buttons ) { |
||||
|
var i, ien, node, button; |
||||
|
var clickHandler = function ( e ) { |
||||
|
e.preventDefault(); |
||||
|
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
||||
|
api.page( e.data.action ).draw( 'page' ); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
||||
|
button = buttons[i]; |
||||
|
|
||||
|
if ( $.isArray( button ) ) { |
||||
|
attach( container, button ); |
||||
|
} |
||||
|
else { |
||||
|
btnDisplay = ''; |
||||
|
btnClass = ''; |
||||
|
|
||||
|
switch ( button ) { |
||||
|
case 'ellipsis': |
||||
|
btnDisplay = '…'; |
||||
|
btnClass = 'disabled'; |
||||
|
break; |
||||
|
|
||||
|
case 'first': |
||||
|
btnDisplay = lang.sFirst; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'previous': |
||||
|
btnDisplay = lang.sPrevious; |
||||
|
btnClass = button + (page > 0 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'next': |
||||
|
btnDisplay = lang.sNext; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
case 'last': |
||||
|
btnDisplay = lang.sLast; |
||||
|
btnClass = button + (page < pages-1 ? |
||||
|
'' : ' disabled'); |
||||
|
break; |
||||
|
|
||||
|
default: |
||||
|
btnDisplay = button + 1; |
||||
|
btnClass = page === button ? |
||||
|
'active' : ''; |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
if ( btnDisplay ) { |
||||
|
node = $('<li>', { |
||||
|
'class': classes.sPageButton+' '+btnClass, |
||||
|
'id': idx === 0 && typeof button === 'string' ? |
||||
|
settings.sTableId +'_'+ button : |
||||
|
null |
||||
|
} ) |
||||
|
.append( $('<a>', { |
||||
|
'href': '#', |
||||
|
'aria-controls': settings.sTableId, |
||||
|
'aria-label': aria[ button ], |
||||
|
'data-dt-idx': counter, |
||||
|
'tabindex': settings.iTabIndex, |
||||
|
'class': 'page-link' |
||||
|
} ) |
||||
|
.html( btnDisplay ) |
||||
|
) |
||||
|
.appendTo( container ); |
||||
|
|
||||
|
settings.oApi._fnBindAction( |
||||
|
node, {action: button}, clickHandler |
||||
|
); |
||||
|
|
||||
|
counter++; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
|
// inside an iframe or frame.
|
||||
|
var activeEl; |
||||
|
|
||||
|
try { |
||||
|
// Because this approach is destroying and recreating the paging
|
||||
|
// elements, focus is lost on the select button which is bad for
|
||||
|
// accessibility. So we want to restore focus once the draw has
|
||||
|
// completed
|
||||
|
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
||||
|
} |
||||
|
catch (e) {} |
||||
|
|
||||
|
attach( |
||||
|
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
||||
|
buttons |
||||
|
); |
||||
|
|
||||
|
if ( activeEl !== undefined ) { |
||||
|
$(host).find( '[data-dt-idx='+activeEl+']' ).focus(); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
return DataTable; |
||||
|
})); |
||||
File diff suppressed because it is too large
File diff suppressed because it is too large
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,432 @@ |
|||||
|
// Unobtrusive validation support library for jQuery and jQuery Validate
|
||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
// @version v3.2.11
|
||||
|
|
||||
|
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ |
||||
|
/*global document: false, jQuery: false */ |
||||
|
|
||||
|
(function (factory) { |
||||
|
if (typeof define === 'function' && define.amd) { |
||||
|
// AMD. Register as an anonymous module.
|
||||
|
define("jquery.validate.unobtrusive", ['jquery-validation'], factory); |
||||
|
} else if (typeof module === 'object' && module.exports) { |
||||
|
// CommonJS-like environments that support module.exports
|
||||
|
module.exports = factory(require('jquery-validation')); |
||||
|
} else { |
||||
|
// Browser global
|
||||
|
jQuery.validator.unobtrusive = factory(jQuery); |
||||
|
} |
||||
|
}(function ($) { |
||||
|
var $jQval = $.validator, |
||||
|
adapters, |
||||
|
data_validation = "unobtrusiveValidation"; |
||||
|
|
||||
|
function setValidationValues(options, ruleName, value) { |
||||
|
options.rules[ruleName] = value; |
||||
|
if (options.message) { |
||||
|
options.messages[ruleName] = options.message; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function splitAndTrim(value) { |
||||
|
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); |
||||
|
} |
||||
|
|
||||
|
function escapeAttributeValue(value) { |
||||
|
// As mentioned on http://api.jquery.com/category/selectors/
|
||||
|
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); |
||||
|
} |
||||
|
|
||||
|
function getModelPrefix(fieldName) { |
||||
|
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); |
||||
|
} |
||||
|
|
||||
|
function appendModelPrefix(value, prefix) { |
||||
|
if (value.indexOf("*.") === 0) { |
||||
|
value = value.replace("*.", prefix); |
||||
|
} |
||||
|
return value; |
||||
|
} |
||||
|
|
||||
|
function onError(error, inputElement) { // 'this' is the form element
|
||||
|
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), |
||||
|
replaceAttrValue = container.attr("data-valmsg-replace"), |
||||
|
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; |
||||
|
|
||||
|
container.removeClass("field-validation-valid").addClass("field-validation-error"); |
||||
|
error.data("unobtrusiveContainer", container); |
||||
|
|
||||
|
if (replace) { |
||||
|
container.empty(); |
||||
|
error.removeClass("input-validation-error").appendTo(container); |
||||
|
} |
||||
|
else { |
||||
|
error.hide(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onErrors(event, validator) { // 'this' is the form element
|
||||
|
var container = $(this).find("[data-valmsg-summary=true]"), |
||||
|
list = container.find("ul"); |
||||
|
|
||||
|
if (list && list.length && validator.errorList.length) { |
||||
|
list.empty(); |
||||
|
container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); |
||||
|
|
||||
|
$.each(validator.errorList, function () { |
||||
|
$("<li />").html(this.message).appendTo(list); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onSuccess(error) { // 'this' is the form element
|
||||
|
var container = error.data("unobtrusiveContainer"); |
||||
|
|
||||
|
if (container) { |
||||
|
var replaceAttrValue = container.attr("data-valmsg-replace"), |
||||
|
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; |
||||
|
|
||||
|
container.addClass("field-validation-valid").removeClass("field-validation-error"); |
||||
|
error.removeData("unobtrusiveContainer"); |
||||
|
|
||||
|
if (replace) { |
||||
|
container.empty(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function onReset(event) { // 'this' is the form element
|
||||
|
var $form = $(this), |
||||
|
key = '__jquery_unobtrusive_validation_form_reset'; |
||||
|
if ($form.data(key)) { |
||||
|
return; |
||||
|
} |
||||
|
// Set a flag that indicates we're currently resetting the form.
|
||||
|
$form.data(key, true); |
||||
|
try { |
||||
|
$form.data("validator").resetForm(); |
||||
|
} finally { |
||||
|
$form.removeData(key); |
||||
|
} |
||||
|
|
||||
|
$form.find(".validation-summary-errors") |
||||
|
.addClass("validation-summary-valid") |
||||
|
.removeClass("validation-summary-errors"); |
||||
|
$form.find(".field-validation-error") |
||||
|
.addClass("field-validation-valid") |
||||
|
.removeClass("field-validation-error") |
||||
|
.removeData("unobtrusiveContainer") |
||||
|
.find(">*") // If we were using valmsg-replace, get the underlying error
|
||||
|
.removeData("unobtrusiveContainer"); |
||||
|
} |
||||
|
|
||||
|
function validationInfo(form) { |
||||
|
var $form = $(form), |
||||
|
result = $form.data(data_validation), |
||||
|
onResetProxy = $.proxy(onReset, form), |
||||
|
defaultOptions = $jQval.unobtrusive.options || {}, |
||||
|
execInContext = function (name, args) { |
||||
|
var func = defaultOptions[name]; |
||||
|
func && $.isFunction(func) && func.apply(form, args); |
||||
|
}; |
||||
|
|
||||
|
if (!result) { |
||||
|
result = { |
||||
|
options: { // options structure passed to jQuery Validate's validate() method
|
||||
|
errorClass: defaultOptions.errorClass || "input-validation-error", |
||||
|
errorElement: defaultOptions.errorElement || "span", |
||||
|
errorPlacement: function () { |
||||
|
onError.apply(form, arguments); |
||||
|
execInContext("errorPlacement", arguments); |
||||
|
}, |
||||
|
invalidHandler: function () { |
||||
|
onErrors.apply(form, arguments); |
||||
|
execInContext("invalidHandler", arguments); |
||||
|
}, |
||||
|
messages: {}, |
||||
|
rules: {}, |
||||
|
success: function () { |
||||
|
onSuccess.apply(form, arguments); |
||||
|
execInContext("success", arguments); |
||||
|
} |
||||
|
}, |
||||
|
attachValidation: function () { |
||||
|
$form |
||||
|
.off("reset." + data_validation, onResetProxy) |
||||
|
.on("reset." + data_validation, onResetProxy) |
||||
|
.validate(this.options); |
||||
|
}, |
||||
|
validate: function () { // a validation function that is called by unobtrusive Ajax
|
||||
|
$form.validate(); |
||||
|
return $form.valid(); |
||||
|
} |
||||
|
}; |
||||
|
$form.data(data_validation, result); |
||||
|
} |
||||
|
|
||||
|
return result; |
||||
|
} |
||||
|
|
||||
|
$jQval.unobtrusive = { |
||||
|
adapters: [], |
||||
|
|
||||
|
parseElement: function (element, skipAttach) { |
||||
|
/// <summary>
|
||||
|
/// Parses a single HTML element for unobtrusive validation attributes.
|
||||
|
/// </summary>
|
||||
|
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
|
||||
|
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
|
||||
|
/// validation to the form. If parsing just this single element, you should specify true.
|
||||
|
/// If parsing several elements, you should specify false, and manually attach the validation
|
||||
|
/// to the form when you are finished. The default is false.</param>
|
||||
|
var $element = $(element), |
||||
|
form = $element.parents("form")[0], |
||||
|
valInfo, rules, messages; |
||||
|
|
||||
|
if (!form) { // Cannot do client-side validation without a form
|
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
valInfo = validationInfo(form); |
||||
|
valInfo.options.rules[element.name] = rules = {}; |
||||
|
valInfo.options.messages[element.name] = messages = {}; |
||||
|
|
||||
|
$.each(this.adapters, function () { |
||||
|
var prefix = "data-val-" + this.name, |
||||
|
message = $element.attr(prefix), |
||||
|
paramValues = {}; |
||||
|
|
||||
|
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
|
||||
|
prefix += "-"; |
||||
|
|
||||
|
$.each(this.params, function () { |
||||
|
paramValues[this] = $element.attr(prefix + this); |
||||
|
}); |
||||
|
|
||||
|
this.adapt({ |
||||
|
element: element, |
||||
|
form: form, |
||||
|
message: message, |
||||
|
params: paramValues, |
||||
|
rules: rules, |
||||
|
messages: messages |
||||
|
}); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
$.extend(rules, { "__dummy__": true }); |
||||
|
|
||||
|
if (!skipAttach) { |
||||
|
valInfo.attachValidation(); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
parse: function (selector) { |
||||
|
/// <summary>
|
||||
|
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
|
||||
|
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
|
||||
|
/// attribute values.
|
||||
|
/// </summary>
|
||||
|
/// <param name="selector" type="String">Any valid jQuery selector.</param>
|
||||
|
|
||||
|
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
|
||||
|
// element with data-val=true
|
||||
|
var $selector = $(selector), |
||||
|
$forms = $selector.parents() |
||||
|
.addBack() |
||||
|
.filter("form") |
||||
|
.add($selector.find("form")) |
||||
|
.has("[data-val=true]"); |
||||
|
|
||||
|
$selector.find("[data-val=true]").each(function () { |
||||
|
$jQval.unobtrusive.parseElement(this, true); |
||||
|
}); |
||||
|
|
||||
|
$forms.each(function () { |
||||
|
var info = validationInfo(this); |
||||
|
if (info) { |
||||
|
info.attachValidation(); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
adapters = $jQval.unobtrusive.adapters; |
||||
|
|
||||
|
adapters.add = function (adapterName, params, fn) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
|
||||
|
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
|
||||
|
/// mmmm is the parameter name).</param>
|
||||
|
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
|
||||
|
/// attributes into jQuery Validate rules and/or messages.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
if (!fn) { // Called with no params, just a function
|
||||
|
fn = params; |
||||
|
params = []; |
||||
|
} |
||||
|
this.push({ name: adapterName, params: params, adapt: fn }); |
||||
|
return this; |
||||
|
}; |
||||
|
|
||||
|
adapters.addBool = function (adapterName, ruleName) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation rule has no parameter values.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
|
/// of adapterName will be used instead.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, function (options) { |
||||
|
setValidationValues(options, ruleName || adapterName, true); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
|
||||
|
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
|
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
|
/// have a minimum value.</param>
|
||||
|
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
|
/// have a maximum value.</param>
|
||||
|
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
|
||||
|
/// have both a minimum and maximum value.</param>
|
||||
|
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
|
/// contains the minimum value. The default is "min".</param>
|
||||
|
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
|
/// contains the maximum value. The default is "max".</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { |
||||
|
var min = options.params.min, |
||||
|
max = options.params.max; |
||||
|
|
||||
|
if (min && max) { |
||||
|
setValidationValues(options, minMaxRuleName, [min, max]); |
||||
|
} |
||||
|
else if (min) { |
||||
|
setValidationValues(options, minRuleName, min); |
||||
|
} |
||||
|
else if (max) { |
||||
|
setValidationValues(options, maxRuleName, max); |
||||
|
} |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
adapters.addSingleVal = function (adapterName, attribute, ruleName) { |
||||
|
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
|
/// the jQuery Validate validation rule has a single value.</summary>
|
||||
|
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
|
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
|
||||
|
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
|
||||
|
/// The default is "val".</param>
|
||||
|
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
|
/// of adapterName will be used instead.</param>
|
||||
|
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
|
return this.add(adapterName, [attribute || "val"], function (options) { |
||||
|
setValidationValues(options, ruleName || adapterName, options.params[attribute]); |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
$jQval.addMethod("__dummy__", function (value, element, params) { |
||||
|
return true; |
||||
|
}); |
||||
|
|
||||
|
$jQval.addMethod("regex", function (value, element, params) { |
||||
|
var match; |
||||
|
if (this.optional(element)) { |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
match = new RegExp(params).exec(value); |
||||
|
return (match && (match.index === 0) && (match[0].length === value.length)); |
||||
|
}); |
||||
|
|
||||
|
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { |
||||
|
var match; |
||||
|
if (nonalphamin) { |
||||
|
match = value.match(/\W/g); |
||||
|
match = match && match.length >= nonalphamin; |
||||
|
} |
||||
|
return match; |
||||
|
}); |
||||
|
|
||||
|
if ($jQval.methods.extension) { |
||||
|
adapters.addSingleVal("accept", "mimtype"); |
||||
|
adapters.addSingleVal("extension", "extension"); |
||||
|
} else { |
||||
|
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
|
||||
|
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
|
||||
|
// validating the extension, and ignore mime-type validations as they are not supported.
|
||||
|
adapters.addSingleVal("extension", "extension", "accept"); |
||||
|
} |
||||
|
|
||||
|
adapters.addSingleVal("regex", "pattern"); |
||||
|
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); |
||||
|
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); |
||||
|
adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength"); |
||||
|
adapters.add("equalto", ["other"], function (options) { |
||||
|
var prefix = getModelPrefix(options.element.name), |
||||
|
other = options.params.other, |
||||
|
fullOtherName = appendModelPrefix(other, prefix), |
||||
|
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; |
||||
|
|
||||
|
setValidationValues(options, "equalTo", element); |
||||
|
}); |
||||
|
adapters.add("required", function (options) { |
||||
|
// jQuery Validate equates "required" with "mandatory" for checkbox elements
|
||||
|
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { |
||||
|
setValidationValues(options, "required", true); |
||||
|
} |
||||
|
}); |
||||
|
adapters.add("remote", ["url", "type", "additionalfields"], function (options) { |
||||
|
var value = { |
||||
|
url: options.params.url, |
||||
|
type: options.params.type || "GET", |
||||
|
data: {} |
||||
|
}, |
||||
|
prefix = getModelPrefix(options.element.name); |
||||
|
|
||||
|
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { |
||||
|
var paramName = appendModelPrefix(fieldName, prefix); |
||||
|
value.data[paramName] = function () { |
||||
|
var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']"); |
||||
|
// For checkboxes and radio buttons, only pick up values from checked fields.
|
||||
|
if (field.is(":checkbox")) { |
||||
|
return field.filter(":checked").val() || field.filter(":hidden").val() || ''; |
||||
|
} |
||||
|
else if (field.is(":radio")) { |
||||
|
return field.filter(":checked").val() || ''; |
||||
|
} |
||||
|
return field.val(); |
||||
|
}; |
||||
|
}); |
||||
|
|
||||
|
setValidationValues(options, "remote", value); |
||||
|
}); |
||||
|
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { |
||||
|
if (options.params.min) { |
||||
|
setValidationValues(options, "minlength", options.params.min); |
||||
|
} |
||||
|
if (options.params.nonalphamin) { |
||||
|
setValidationValues(options, "nonalphamin", options.params.nonalphamin); |
||||
|
} |
||||
|
if (options.params.regex) { |
||||
|
setValidationValues(options, "regex", options.params.regex); |
||||
|
} |
||||
|
}); |
||||
|
adapters.add("fileextensions", ["extensions"], function (options) { |
||||
|
setValidationValues(options, "extension", options.params.extensions); |
||||
|
}); |
||||
|
|
||||
|
$(function () { |
||||
|
$jQval.unobtrusive.parse(document); |
||||
|
}); |
||||
|
|
||||
|
return $jQval.unobtrusive; |
||||
|
})); |
||||
File diff suppressed because it is too large
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: AR (Arabic; العربية) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "هذا الحقل إلزامي", |
||||
|
remote: "يرجى تصحيح هذا الحقل للمتابعة", |
||||
|
email: "رجاء إدخال عنوان بريد إلكتروني صحيح", |
||||
|
url: "رجاء إدخال عنوان موقع إلكتروني صحيح", |
||||
|
date: "رجاء إدخال تاريخ صحيح", |
||||
|
dateISO: "رجاء إدخال تاريخ صحيح (ISO)", |
||||
|
number: "رجاء إدخال عدد بطريقة صحيحة", |
||||
|
digits: "رجاء إدخال أرقام فقط", |
||||
|
creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح", |
||||
|
equalTo: "رجاء إدخال نفس القيمة", |
||||
|
extension: "رجاء إدخال ملف بامتداد موافق عليه", |
||||
|
maxlength: $.validator.format( "الحد الأقصى لعدد الحروف هو {0}" ), |
||||
|
minlength: $.validator.format( "الحد الأدنى لعدد الحروف هو {0}" ), |
||||
|
rangelength: $.validator.format( "عدد الحروف يجب أن يكون بين {0} و {1}" ), |
||||
|
range: $.validator.format( "رجاء إدخال عدد قيمته بين {0} و {1}" ), |
||||
|
max: $.validator.format( "رجاء إدخال عدد أقل من أو يساوي {0}" ), |
||||
|
min: $.validator.format( "رجاء إدخال عدد أكبر من أو يساوي {0}" ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"هذا الحقل إلزامي",remote:"يرجى تصحيح هذا الحقل للمتابعة",email:"رجاء إدخال عنوان بريد إلكتروني صحيح",url:"رجاء إدخال عنوان موقع إلكتروني صحيح",date:"رجاء إدخال تاريخ صحيح",dateISO:"رجاء إدخال تاريخ صحيح (ISO)",number:"رجاء إدخال عدد بطريقة صحيحة",digits:"رجاء إدخال أرقام فقط",creditcard:"رجاء إدخال رقم بطاقة ائتمان صحيح",equalTo:"رجاء إدخال نفس القيمة",extension:"رجاء إدخال ملف بامتداد موافق عليه",maxlength:a.validator.format("الحد الأقصى لعدد الحروف هو {0}"),minlength:a.validator.format("الحد الأدنى لعدد الحروف هو {0}"),rangelength:a.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"),range:a.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"),max:a.validator.format("رجاء إدخال عدد أقل من أو يساوي {0}"),min:a.validator.format("رجاء إدخال عدد أكبر من أو يساوي {0}")}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: Az (Azeri; azərbaycan dili) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Bu xana mütləq doldurulmalıdır.", |
||||
|
remote: "Zəhmət olmasa, düzgün məna daxil edin.", |
||||
|
email: "Zəhmət olmasa, düzgün elektron poçt daxil edin.", |
||||
|
url: "Zəhmət olmasa, düzgün URL daxil edin.", |
||||
|
date: "Zəhmət olmasa, düzgün tarix daxil edin.", |
||||
|
dateISO: "Zəhmət olmasa, düzgün ISO formatlı tarix daxil edin.", |
||||
|
number: "Zəhmət olmasa, düzgün rəqəm daxil edin.", |
||||
|
digits: "Zəhmət olmasa, yalnız rəqəm daxil edin.", |
||||
|
creditcard: "Zəhmət olmasa, düzgün kredit kart nömrəsini daxil edin.", |
||||
|
equalTo: "Zəhmət olmasa, eyni mənanı bir daha daxil edin.", |
||||
|
extension: "Zəhmət olmasa, düzgün genişlənməyə malik faylı seçin.", |
||||
|
maxlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan çox olmayaraq daxil edin." ), |
||||
|
minlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan az olmayaraq daxil edin." ), |
||||
|
rangelength: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında uzunluğa malik simvol daxil edin." ), |
||||
|
range: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında rəqəm daxil edin." ), |
||||
|
max: $.validator.format( "Zəhmət olmasa, {0} və ondan kiçik rəqəm daxil edin." ), |
||||
|
min: $.validator.format( "Zəhmət olmasa, {0} və ondan böyük rəqəm daxil edin" ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Bu xana mütləq doldurulmalıdır.",remote:"Zəhmət olmasa, düzgün məna daxil edin.",email:"Zəhmət olmasa, düzgün elektron poçt daxil edin.",url:"Zəhmət olmasa, düzgün URL daxil edin.",date:"Zəhmət olmasa, düzgün tarix daxil edin.",dateISO:"Zəhmət olmasa, düzgün ISO formatlı tarix daxil edin.",number:"Zəhmət olmasa, düzgün rəqəm daxil edin.",digits:"Zəhmət olmasa, yalnız rəqəm daxil edin.",creditcard:"Zəhmət olmasa, düzgün kredit kart nömrəsini daxil edin.",equalTo:"Zəhmət olmasa, eyni mənanı bir daha daxil edin.",extension:"Zəhmət olmasa, düzgün genişlənməyə malik faylı seçin.",maxlength:a.validator.format("Zəhmət olmasa, {0} simvoldan çox olmayaraq daxil edin."),minlength:a.validator.format("Zəhmət olmasa, {0} simvoldan az olmayaraq daxil edin."),rangelength:a.validator.format("Zəhmət olmasa, {0} - {1} aralığında uzunluğa malik simvol daxil edin."),range:a.validator.format("Zəhmət olmasa, {0} - {1} aralığında rəqəm daxil edin."),max:a.validator.format("Zəhmət olmasa, {0} və ondan kiçik rəqəm daxil edin."),min:a.validator.format("Zəhmət olmasa, {0} və ondan böyük rəqəm daxil edin")}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: BG (Bulgarian; български език) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Полето е задължително.", |
||||
|
remote: "Моля, въведете правилната стойност.", |
||||
|
email: "Моля, въведете валиден email.", |
||||
|
url: "Моля, въведете валидно URL.", |
||||
|
date: "Моля, въведете валидна дата.", |
||||
|
dateISO: "Моля, въведете валидна дата (ISO).", |
||||
|
number: "Моля, въведете валиден номер.", |
||||
|
digits: "Моля, въведете само цифри.", |
||||
|
creditcard: "Моля, въведете валиден номер на кредитна карта.", |
||||
|
equalTo: "Моля, въведете същата стойност отново.", |
||||
|
extension: "Моля, въведете стойност с валидно разширение.", |
||||
|
maxlength: $.validator.format( "Моля, въведете не повече от {0} символа." ), |
||||
|
minlength: $.validator.format( "Моля, въведете поне {0} символа." ), |
||||
|
rangelength: $.validator.format( "Моля, въведете стойност с дължина между {0} и {1} символа." ), |
||||
|
range: $.validator.format( "Моля, въведете стойност между {0} и {1}." ), |
||||
|
max: $.validator.format( "Моля, въведете стойност по-малка или равна на {0}." ), |
||||
|
min: $.validator.format( "Моля, въведете стойност по-голяма или равна на {0}." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Полето е задължително.",remote:"Моля, въведете правилната стойност.",email:"Моля, въведете валиден email.",url:"Моля, въведете валидно URL.",date:"Моля, въведете валидна дата.",dateISO:"Моля, въведете валидна дата (ISO).",number:"Моля, въведете валиден номер.",digits:"Моля, въведете само цифри.",creditcard:"Моля, въведете валиден номер на кредитна карта.",equalTo:"Моля, въведете същата стойност отново.",extension:"Моля, въведете стойност с валидно разширение.",maxlength:a.validator.format("Моля, въведете не повече от {0} символа."),minlength:a.validator.format("Моля, въведете поне {0} символа."),rangelength:a.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."),range:a.validator.format("Моля, въведете стойност между {0} и {1}."),max:a.validator.format("Моля, въведете стойност по-малка или равна на {0}."),min:a.validator.format("Моля, въведете стойност по-голяма или равна на {0}.")}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: bn_BD (Bengali, Bangladesh) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "এই তথ্যটি আবশ্যক।", |
||||
|
remote: "এই তথ্যটি ঠিক করুন।", |
||||
|
email: "অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।", |
||||
|
url: "অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।", |
||||
|
date: "তারিখ সঠিক নয়।", |
||||
|
dateISO: "অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।", |
||||
|
number: "অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।", |
||||
|
digits: "এখানে শুধু সংখ্যা ব্যবহার করা যাবে।", |
||||
|
creditcard: "অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।", |
||||
|
equalTo: "একই মান আবার লিখুন।", |
||||
|
extension: "সঠিক ধরনের ফাইল আপলোড করুন।", |
||||
|
maxlength: $.validator.format( "{0}টির বেশি অক্ষর লেখা যাবে না।" ), |
||||
|
minlength: $.validator.format( "{0}টির কম অক্ষর লেখা যাবে না।" ), |
||||
|
rangelength: $.validator.format( "{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।" ), |
||||
|
range: $.validator.format( "{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।" ), |
||||
|
max: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।" ), |
||||
|
min: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।" ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"এই তথ্যটি আবশ্যক।",remote:"এই তথ্যটি ঠিক করুন।",email:"অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।",url:"অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।",date:"তারিখ সঠিক নয়।",dateISO:"অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।",number:"অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।",digits:"এখানে শুধু সংখ্যা ব্যবহার করা যাবে।",creditcard:"অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।",equalTo:"একই মান আবার লিখুন।",extension:"সঠিক ধরনের ফাইল আপলোড করুন।",maxlength:a.validator.format("{0}টির বেশি অক্ষর লেখা যাবে না।"),minlength:a.validator.format("{0}টির কম অক্ষর লেখা যাবে না।"),rangelength:a.validator.format("{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।"),range:a.validator.format("{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।"),max:a.validator.format("অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।"),min:a.validator.format("অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।")}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: CA (Catalan; català) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Aquest camp és obligatori.", |
||||
|
remote: "Si us plau, omple aquest camp.", |
||||
|
email: "Si us plau, escriu una adreça de correu-e vàlida", |
||||
|
url: "Si us plau, escriu una URL vàlida.", |
||||
|
date: "Si us plau, escriu una data vàlida.", |
||||
|
dateISO: "Si us plau, escriu una data (ISO) vàlida.", |
||||
|
number: "Si us plau, escriu un número enter vàlid.", |
||||
|
digits: "Si us plau, escriu només dígits.", |
||||
|
creditcard: "Si us plau, escriu un número de tarjeta vàlid.", |
||||
|
equalTo: "Si us plau, escriu el mateix valor de nou.", |
||||
|
extension: "Si us plau, escriu un valor amb una extensió acceptada.", |
||||
|
maxlength: $.validator.format( "Si us plau, no escriguis més de {0} caracters." ), |
||||
|
minlength: $.validator.format( "Si us plau, no escriguis menys de {0} caracters." ), |
||||
|
rangelength: $.validator.format( "Si us plau, escriu un valor entre {0} i {1} caracters." ), |
||||
|
range: $.validator.format( "Si us plau, escriu un valor entre {0} i {1}." ), |
||||
|
max: $.validator.format( "Si us plau, escriu un valor menor o igual a {0}." ), |
||||
|
min: $.validator.format( "Si us plau, escriu un valor major o igual a {0}." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Aquest camp és obligatori.",remote:"Si us plau, omple aquest camp.",email:"Si us plau, escriu una adreça de correu-e vàlida",url:"Si us plau, escriu una URL vàlida.",date:"Si us plau, escriu una data vàlida.",dateISO:"Si us plau, escriu una data (ISO) vàlida.",number:"Si us plau, escriu un número enter vàlid.",digits:"Si us plau, escriu només dígits.",creditcard:"Si us plau, escriu un número de tarjeta vàlid.",equalTo:"Si us plau, escriu el mateix valor de nou.",extension:"Si us plau, escriu un valor amb una extensió acceptada.",maxlength:a.validator.format("Si us plau, no escriguis més de {0} caracters."),minlength:a.validator.format("Si us plau, no escriguis menys de {0} caracters."),rangelength:a.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."),range:a.validator.format("Si us plau, escriu un valor entre {0} i {1}."),max:a.validator.format("Si us plau, escriu un valor menor o igual a {0}."),min:a.validator.format("Si us plau, escriu un valor major o igual a {0}.")}),a}); |
||||
@ -0,0 +1,36 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: CS (Czech; čeština, český jazyk) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Tento údaj je povinný.", |
||||
|
remote: "Prosím, opravte tento údaj.", |
||||
|
email: "Prosím, zadejte platný e-mail.", |
||||
|
url: "Prosím, zadejte platné URL.", |
||||
|
date: "Prosím, zadejte platné datum.", |
||||
|
dateISO: "Prosím, zadejte platné datum (ISO).", |
||||
|
number: "Prosím, zadejte číslo.", |
||||
|
digits: "Prosím, zadávejte pouze číslice.", |
||||
|
creditcard: "Prosím, zadejte číslo kreditní karty.", |
||||
|
equalTo: "Prosím, zadejte znovu stejnou hodnotu.", |
||||
|
extension: "Prosím, zadejte soubor se správnou příponou.", |
||||
|
maxlength: $.validator.format( "Prosím, zadejte nejvíce {0} znaků." ), |
||||
|
minlength: $.validator.format( "Prosím, zadejte nejméně {0} znaků." ), |
||||
|
rangelength: $.validator.format( "Prosím, zadejte od {0} do {1} znaků." ), |
||||
|
range: $.validator.format( "Prosím, zadejte hodnotu od {0} do {1}." ), |
||||
|
max: $.validator.format( "Prosím, zadejte hodnotu menší nebo rovnu {0}." ), |
||||
|
min: $.validator.format( "Prosím, zadejte hodnotu větší nebo rovnu {0}." ), |
||||
|
step: $.validator.format( "Musí být násobkem čísla {0}." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Tento údaj je povinný.",remote:"Prosím, opravte tento údaj.",email:"Prosím, zadejte platný e-mail.",url:"Prosím, zadejte platné URL.",date:"Prosím, zadejte platné datum.",dateISO:"Prosím, zadejte platné datum (ISO).",number:"Prosím, zadejte číslo.",digits:"Prosím, zadávejte pouze číslice.",creditcard:"Prosím, zadejte číslo kreditní karty.",equalTo:"Prosím, zadejte znovu stejnou hodnotu.",extension:"Prosím, zadejte soubor se správnou příponou.",maxlength:a.validator.format("Prosím, zadejte nejvíce {0} znaků."),minlength:a.validator.format("Prosím, zadejte nejméně {0} znaků."),rangelength:a.validator.format("Prosím, zadejte od {0} do {1} znaků."),range:a.validator.format("Prosím, zadejte hodnotu od {0} do {1}."),max:a.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."),min:a.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}."),step:a.validator.format("Musí být násobkem čísla {0}.")}),a}); |
||||
@ -0,0 +1,46 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: DA (Danish; dansk) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Dette felt er påkrævet.", |
||||
|
remote: "Ret venligst dette felt", |
||||
|
email: "Indtast en gyldig email-adresse.", |
||||
|
url: "Indtast en gyldig URL.", |
||||
|
date: "Indtast en gyldig dato.", |
||||
|
number: "Indtast et tal.", |
||||
|
digits: "Indtast kun cifre.", |
||||
|
creditcard: "Indtast et gyldigt kreditkortnummer.", |
||||
|
equalTo: "Indtast den samme værdi igen.", |
||||
|
time: "Angiv en gyldig tid mellem kl. 00:00 og 23:59.", |
||||
|
ipv4: "Angiv venligst en gyldig IPv4-adresse.", |
||||
|
ipv6: "Angiv venligst en gyldig IPv6-adresse.", |
||||
|
require_from_group: $.validator.format( "Angiv mindst {0} af disse felter." ), |
||||
|
extension: "Indtast venligst en værdi med en gyldig endelse", |
||||
|
pattern: "Ugyldigt format", |
||||
|
lettersonly: "Angiv venligst kun bogstaver.", |
||||
|
nowhitespace: "Må ikke indholde mellemrum", |
||||
|
maxlength: $.validator.format( "Indtast højst {0} tegn." ), |
||||
|
minlength: $.validator.format( "Indtast mindst {0} tegn." ), |
||||
|
rangelength: $.validator.format( "Indtast mindst {0} og højst {1} tegn." ), |
||||
|
range: $.validator.format( "Angiv en værdi mellem {0} og {1}." ), |
||||
|
max: $.validator.format( "Angiv en værdi der højst er {0}." ), |
||||
|
min: $.validator.format( "Angiv en værdi der mindst er {0}." ), |
||||
|
minWords: $.validator.format( "Indtast venligst mindst {0} ord" ), |
||||
|
maxWords: $.validator.format( "Indtast venligst højst {0} ord" ), |
||||
|
step: $.validator.format( "Angiv en værdi gange {0}." ), |
||||
|
notEqualTo: "Angiv en anden værdi, værdierne må ikke være det samme.", |
||||
|
integer: "Angiv et ikke-decimaltal, der er positivt eller negativt." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Dette felt er påkrævet.",remote:"Ret venligst dette felt",email:"Indtast en gyldig email-adresse.",url:"Indtast en gyldig URL.",date:"Indtast en gyldig dato.",number:"Indtast et tal.",digits:"Indtast kun cifre.",creditcard:"Indtast et gyldigt kreditkortnummer.",equalTo:"Indtast den samme værdi igen.",time:"Angiv en gyldig tid mellem kl. 00:00 og 23:59.",ipv4:"Angiv venligst en gyldig IPv4-adresse.",ipv6:"Angiv venligst en gyldig IPv6-adresse.",require_from_group:a.validator.format("Angiv mindst {0} af disse felter."),extension:"Indtast venligst en værdi med en gyldig endelse",pattern:"Ugyldigt format",lettersonly:"Angiv venligst kun bogstaver.",nowhitespace:"Må ikke indholde mellemrum",maxlength:a.validator.format("Indtast højst {0} tegn."),minlength:a.validator.format("Indtast mindst {0} tegn."),rangelength:a.validator.format("Indtast mindst {0} og højst {1} tegn."),range:a.validator.format("Angiv en værdi mellem {0} og {1}."),max:a.validator.format("Angiv en værdi der højst er {0}."),min:a.validator.format("Angiv en værdi der mindst er {0}."),minWords:a.validator.format("Indtast venligst mindst {0} ord"),maxWords:a.validator.format("Indtast venligst højst {0} ord"),step:a.validator.format("Angiv en værdi gange {0}."),notEqualTo:"Angiv en anden værdi, værdierne må ikke være det samme.",integer:"Angiv et ikke-decimaltal, der er positivt eller negativt."}),a}); |
||||
@ -0,0 +1,82 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: DE (German, Deutsch) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Dieses Feld ist ein Pflichtfeld.", |
||||
|
maxlength: $.validator.format( "Geben Sie bitte maximal {0} Zeichen ein." ), |
||||
|
minlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ), |
||||
|
rangelength: $.validator.format( "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein." ), |
||||
|
email: "Geben Sie bitte eine gültige E-Mail-Adresse ein.", |
||||
|
url: "Geben Sie bitte eine gültige URL ein.", |
||||
|
date: "Geben Sie bitte ein gültiges Datum ein.", |
||||
|
number: "Geben Sie bitte eine Nummer ein.", |
||||
|
digits: "Geben Sie bitte nur Ziffern ein.", |
||||
|
equalTo: "Wiederholen Sie bitte denselben Wert.", |
||||
|
range: $.validator.format( "Geben Sie bitte einen Wert zwischen {0} und {1} ein." ), |
||||
|
max: $.validator.format( "Geben Sie bitte einen Wert kleiner oder gleich {0} ein." ), |
||||
|
min: $.validator.format( "Geben Sie bitte einen Wert größer oder gleich {0} ein." ), |
||||
|
creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.", |
||||
|
remote: "Korrigieren Sie bitte dieses Feld.", |
||||
|
dateISO: "Geben Sie bitte ein gültiges Datum ein (ISO-Format).", |
||||
|
step: $.validator.format( "Geben Sie bitte ein Vielfaches von {0} ein." ), |
||||
|
maxWords: $.validator.format( "Geben Sie bitte {0} Wörter oder weniger ein." ), |
||||
|
minWords: $.validator.format( "Geben Sie bitte mindestens {0} Wörter ein." ), |
||||
|
rangeWords: $.validator.format( "Geben Sie bitte zwischen {0} und {1} Wörtern ein." ), |
||||
|
accept: "Geben Sie bitte einen Wert mit einem gültigen MIME-Typ ein.", |
||||
|
alphanumeric: "Geben Sie bitte nur Buchstaben (keine Umlaute), Zahlen oder Unterstriche ein.", |
||||
|
bankaccountNL: "Geben Sie bitte eine gültige Kontonummer ein.", |
||||
|
bankorgiroaccountNL: "Geben Sie bitte eine gültige Bank- oder Girokontonummer ein.", |
||||
|
bic: "Geben Sie bitte einen gültigen BIC-Code ein.", |
||||
|
cifES: "Geben Sie bitte eine gültige CIF-Nummer ein.", |
||||
|
cpfBR: "Geben Sie bitte eine gültige CPF-Nummer ein.", |
||||
|
creditcardtypes: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein.", |
||||
|
currency: "Geben Sie bitte eine gültige Währung ein.", |
||||
|
extension: "Geben Sie bitte einen Wert mit einer gültigen Erweiterung ein.", |
||||
|
giroaccountNL: "Geben Sie bitte eine gültige Girokontonummer ein.", |
||||
|
iban: "Geben Sie bitte eine gültige IBAN ein.", |
||||
|
integer: "Geben Sie bitte eine positive oder negative Nicht-Dezimalzahl ein.", |
||||
|
ipv4: "Geben Sie bitte eine gültige IPv4-Adresse ein.", |
||||
|
ipv6: "Geben Sie bitte eine gültige IPv6-Adresse ein.", |
||||
|
lettersonly: "Geben Sie bitte nur Buchstaben ein.", |
||||
|
letterswithbasicpunc: "Geben Sie bitte nur Buchstaben oder Interpunktion ein.", |
||||
|
mobileNL: "Geben Sie bitte eine gültige Handynummer ein.", |
||||
|
mobileUK: "Geben Sie bitte eine gültige Handynummer ein.", |
||||
|
netmask: "Geben Sie bitte eine gültige Netzmaske ein.", |
||||
|
nieES: "Geben Sie bitte eine gültige NIE-Nummer ein.", |
||||
|
nifES: "Geben Sie bitte eine gültige NIF-Nummer ein.", |
||||
|
nipPL: "Geben Sie bitte eine gültige NIP-Nummer ein.", |
||||
|
notEqualTo: "Geben Sie bitte einen anderen Wert ein. Die Werte dürfen nicht gleich sein.", |
||||
|
nowhitespace: "Kein Leerzeichen bitte.", |
||||
|
pattern: "Ungültiges Format.", |
||||
|
phoneNL: "Geben Sie bitte eine gültige Telefonnummer ein.", |
||||
|
phonesUK: "Geben Sie bitte eine gültige britische Telefonnummer ein.", |
||||
|
phoneUK: "Geben Sie bitte eine gültige Telefonnummer ein.", |
||||
|
phoneUS: "Geben Sie bitte eine gültige Telefonnummer ein.", |
||||
|
postalcodeBR: "Geben Sie bitte eine gültige brasilianische Postleitzahl ein.", |
||||
|
postalCodeCA: "Geben Sie bitte eine gültige kanadische Postleitzahl ein.", |
||||
|
postalcodeIT: "Geben Sie bitte eine gültige italienische Postleitzahl ein.", |
||||
|
postalcodeNL: "Geben Sie bitte eine gültige niederländische Postleitzahl ein.", |
||||
|
postcodeUK: "Geben Sie bitte eine gültige britische Postleitzahl ein.", |
||||
|
require_from_group: $.validator.format( "Füllen Sie bitte mindestens {0} dieser Felder aus." ), |
||||
|
skip_or_fill_minimum: $.validator.format( "Überspringen Sie bitte diese Felder oder füllen Sie mindestens {0} von ihnen aus." ), |
||||
|
stateUS: "Geben Sie bitte einen gültigen US-Bundesstaat ein.", |
||||
|
strippedminlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ), |
||||
|
time: "Geben Sie bitte eine gültige Uhrzeit zwischen 00:00 und 23:59 ein.", |
||||
|
time12h: "Geben Sie bitte eine gültige Uhrzeit im 12-Stunden-Format ein.", |
||||
|
vinUS: "Die angegebene Fahrzeugidentifikationsnummer (VIN) ist ungültig.", |
||||
|
zipcodeUS: "Die angegebene US-Postleitzahl ist ungültig.", |
||||
|
ziprange: "Ihre Postleitzahl muss im Bereich 902xx-xxxx bis 905xx-xxxx liegen." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Dieses Feld ist ein Pflichtfeld.",maxlength:a.validator.format("Geben Sie bitte maximal {0} Zeichen ein."),minlength:a.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),rangelength:a.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."),email:"Geben Sie bitte eine gültige E-Mail-Adresse ein.",url:"Geben Sie bitte eine gültige URL ein.",date:"Geben Sie bitte ein gültiges Datum ein.",number:"Geben Sie bitte eine Nummer ein.",digits:"Geben Sie bitte nur Ziffern ein.",equalTo:"Wiederholen Sie bitte denselben Wert.",range:a.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),max:a.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),min:a.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),creditcard:"Geben Sie bitte eine gültige Kreditkarten-Nummer ein.",remote:"Korrigieren Sie bitte dieses Feld.",dateISO:"Geben Sie bitte ein gültiges Datum ein (ISO-Format).",step:a.validator.format("Geben Sie bitte ein Vielfaches von {0} ein."),maxWords:a.validator.format("Geben Sie bitte {0} Wörter oder weniger ein."),minWords:a.validator.format("Geben Sie bitte mindestens {0} Wörter ein."),rangeWords:a.validator.format("Geben Sie bitte zwischen {0} und {1} Wörtern ein."),accept:"Geben Sie bitte einen Wert mit einem gültigen MIME-Typ ein.",alphanumeric:"Geben Sie bitte nur Buchstaben (keine Umlaute), Zahlen oder Unterstriche ein.",bankaccountNL:"Geben Sie bitte eine gültige Kontonummer ein.",bankorgiroaccountNL:"Geben Sie bitte eine gültige Bank- oder Girokontonummer ein.",bic:"Geben Sie bitte einen gültigen BIC-Code ein.",cifES:"Geben Sie bitte eine gültige CIF-Nummer ein.",cpfBR:"Geben Sie bitte eine gültige CPF-Nummer ein.",creditcardtypes:"Geben Sie bitte eine gültige Kreditkarten-Nummer ein.",currency:"Geben Sie bitte eine gültige Währung ein.",extension:"Geben Sie bitte einen Wert mit einer gültigen Erweiterung ein.",giroaccountNL:"Geben Sie bitte eine gültige Girokontonummer ein.",iban:"Geben Sie bitte eine gültige IBAN ein.",integer:"Geben Sie bitte eine positive oder negative Nicht-Dezimalzahl ein.",ipv4:"Geben Sie bitte eine gültige IPv4-Adresse ein.",ipv6:"Geben Sie bitte eine gültige IPv6-Adresse ein.",lettersonly:"Geben Sie bitte nur Buchstaben ein.",letterswithbasicpunc:"Geben Sie bitte nur Buchstaben oder Interpunktion ein.",mobileNL:"Geben Sie bitte eine gültige Handynummer ein.",mobileUK:"Geben Sie bitte eine gültige Handynummer ein.",netmask:"Geben Sie bitte eine gültige Netzmaske ein.",nieES:"Geben Sie bitte eine gültige NIE-Nummer ein.",nifES:"Geben Sie bitte eine gültige NIF-Nummer ein.",nipPL:"Geben Sie bitte eine gültige NIP-Nummer ein.",notEqualTo:"Geben Sie bitte einen anderen Wert ein. Die Werte dürfen nicht gleich sein.",nowhitespace:"Kein Leerzeichen bitte.",pattern:"Ungültiges Format.",phoneNL:"Geben Sie bitte eine gültige Telefonnummer ein.",phonesUK:"Geben Sie bitte eine gültige britische Telefonnummer ein.",phoneUK:"Geben Sie bitte eine gültige Telefonnummer ein.",phoneUS:"Geben Sie bitte eine gültige Telefonnummer ein.",postalcodeBR:"Geben Sie bitte eine gültige brasilianische Postleitzahl ein.",postalCodeCA:"Geben Sie bitte eine gültige kanadische Postleitzahl ein.",postalcodeIT:"Geben Sie bitte eine gültige italienische Postleitzahl ein.",postalcodeNL:"Geben Sie bitte eine gültige niederländische Postleitzahl ein.",postcodeUK:"Geben Sie bitte eine gültige britische Postleitzahl ein.",require_from_group:a.validator.format("Füllen Sie bitte mindestens {0} dieser Felder aus."),skip_or_fill_minimum:a.validator.format("Überspringen Sie bitte diese Felder oder füllen Sie mindestens {0} von ihnen aus."),stateUS:"Geben Sie bitte einen gültigen US-Bundesstaat ein.",strippedminlength:a.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."),time:"Geben Sie bitte eine gültige Uhrzeit zwischen 00:00 und 23:59 ein.",time12h:"Geben Sie bitte eine gültige Uhrzeit im 12-Stunden-Format ein.",vinUS:"Die angegebene Fahrzeugidentifikationsnummer (VIN) ist ungültig.",zipcodeUS:"Die angegebene US-Postleitzahl ist ungültig.",ziprange:"Ihre Postleitzahl muss im Bereich 902xx-xxxx bis 905xx-xxxx liegen."}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: EL (Greek; ελληνικά) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Αυτό το πεδίο είναι υποχρεωτικό.", |
||||
|
remote: "Παρακαλώ διορθώστε αυτό το πεδίο.", |
||||
|
email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.", |
||||
|
url: "Παρακαλώ εισάγετε ένα έγκυρο URL.", |
||||
|
date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.", |
||||
|
dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).", |
||||
|
number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.", |
||||
|
digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.", |
||||
|
creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.", |
||||
|
equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.", |
||||
|
extension: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.", |
||||
|
maxlength: $.validator.format( "Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες." ), |
||||
|
minlength: $.validator.format( "Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες." ), |
||||
|
rangelength: $.validator.format( "Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων." ), |
||||
|
range: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}." ), |
||||
|
max: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}." ), |
||||
|
min: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Αυτό το πεδίο είναι υποχρεωτικό.",remote:"Παρακαλώ διορθώστε αυτό το πεδίο.",email:"Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.",url:"Παρακαλώ εισάγετε ένα έγκυρο URL.",date:"Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.",dateISO:"Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).",number:"Παρακαλώ εισάγετε έναν έγκυρο αριθμό.",digits:"Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.",creditcard:"Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.",equalTo:"Παρακαλώ εισάγετε την ίδια τιμή ξανά.",extension:"Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.",maxlength:a.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."),minlength:a.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."),rangelength:a.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."),range:a.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."),max:a.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."),min:a.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.")}),a}); |
||||
@ -0,0 +1,38 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: ES (Spanish; Español) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Este campo es obligatorio.", |
||||
|
remote: "Por favor, rellena este campo.", |
||||
|
email: "Por favor, escribe una dirección de correo válida.", |
||||
|
url: "Por favor, escribe una URL válida.", |
||||
|
date: "Por favor, escribe una fecha válida.", |
||||
|
dateISO: "Por favor, escribe una fecha (ISO) válida.", |
||||
|
number: "Por favor, escribe un número válido.", |
||||
|
digits: "Por favor, escribe sólo dígitos.", |
||||
|
creditcard: "Por favor, escribe un número de tarjeta válido.", |
||||
|
equalTo: "Por favor, escribe el mismo valor de nuevo.", |
||||
|
extension: "Por favor, escribe un valor con una extensión aceptada.", |
||||
|
maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), |
||||
|
minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), |
||||
|
rangelength: $.validator.format( "Por favor, escribe un valor entre {0} y {1} caracteres." ), |
||||
|
range: $.validator.format( "Por favor, escribe un valor entre {0} y {1}." ), |
||||
|
max: $.validator.format( "Por favor, escribe un valor menor o igual a {0}." ), |
||||
|
min: $.validator.format( "Por favor, escribe un valor mayor o igual a {0}." ), |
||||
|
nifES: "Por favor, escribe un NIF válido.", |
||||
|
nieES: "Por favor, escribe un NIE válido.", |
||||
|
cifES: "Por favor, escribe un CIF válido." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, rellena este campo.",email:"Por favor, escribe una dirección de correo válida.",url:"Por favor, escribe una URL válida.",date:"Por favor, escribe una fecha válida.",dateISO:"Por favor, escribe una fecha (ISO) válida.",number:"Por favor, escribe un número válido.",digits:"Por favor, escribe sólo dígitos.",creditcard:"Por favor, escribe un número de tarjeta válido.",equalTo:"Por favor, escribe el mismo valor de nuevo.",extension:"Por favor, escribe un valor con una extensión aceptada.",maxlength:a.validator.format("Por favor, no escribas más de {0} caracteres."),minlength:a.validator.format("Por favor, no escribas menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escribe un valor entre {0} y {1}."),max:a.validator.format("Por favor, escribe un valor menor o igual a {0}."),min:a.validator.format("Por favor, escribe un valor mayor o igual a {0}."),nifES:"Por favor, escribe un NIF válido.",nieES:"Por favor, escribe un NIE válido.",cifES:"Por favor, escribe un CIF válido."}),a}); |
||||
@ -0,0 +1,39 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: ES (Spanish; Español) |
||||
|
* Region: AR (Argentina) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Este campo es obligatorio.", |
||||
|
remote: "Por favor, completá este campo.", |
||||
|
email: "Por favor, escribí una dirección de correo válida.", |
||||
|
url: "Por favor, escribí una URL válida.", |
||||
|
date: "Por favor, escribí una fecha válida.", |
||||
|
dateISO: "Por favor, escribí una fecha (ISO) válida.", |
||||
|
number: "Por favor, escribí un número entero válido.", |
||||
|
digits: "Por favor, escribí sólo dígitos.", |
||||
|
creditcard: "Por favor, escribí un número de tarjeta válido.", |
||||
|
equalTo: "Por favor, escribí el mismo valor de nuevo.", |
||||
|
extension: "Por favor, escribí un valor con una extensión aceptada.", |
||||
|
maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), |
||||
|
minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), |
||||
|
rangelength: $.validator.format( "Por favor, escribí un valor entre {0} y {1} caracteres." ), |
||||
|
range: $.validator.format( "Por favor, escribí un valor entre {0} y {1}." ), |
||||
|
max: $.validator.format( "Por favor, escribí un valor menor o igual a {0}." ), |
||||
|
min: $.validator.format( "Por favor, escribí un valor mayor o igual a {0}." ), |
||||
|
nifES: "Por favor, escribí un NIF válido.", |
||||
|
nieES: "Por favor, escribí un NIE válido.", |
||||
|
cifES: "Por favor, escribí un CIF válido." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, completá este campo.",email:"Por favor, escribí una dirección de correo válida.",url:"Por favor, escribí una URL válida.",date:"Por favor, escribí una fecha válida.",dateISO:"Por favor, escribí una fecha (ISO) válida.",number:"Por favor, escribí un número entero válido.",digits:"Por favor, escribí sólo dígitos.",creditcard:"Por favor, escribí un número de tarjeta válido.",equalTo:"Por favor, escribí el mismo valor de nuevo.",extension:"Por favor, escribí un valor con una extensión aceptada.",maxlength:a.validator.format("Por favor, no escribas más de {0} caracteres."),minlength:a.validator.format("Por favor, no escribas menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escribí un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escribí un valor entre {0} y {1}."),max:a.validator.format("Por favor, escribí un valor menor o igual a {0}."),min:a.validator.format("Por favor, escribí un valor mayor o igual a {0}."),nifES:"Por favor, escribí un NIF válido.",nieES:"Por favor, escribí un NIE válido.",cifES:"Por favor, escribí un CIF válido."}),a}); |
||||
@ -0,0 +1,39 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: ES (Spanish; Español) |
||||
|
* Region: PE (Perú) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Este campo es obligatorio.", |
||||
|
remote: "Por favor, llene este campo.", |
||||
|
email: "Por favor, escriba un correo electrónico válido.", |
||||
|
url: "Por favor, escriba una URL válida.", |
||||
|
date: "Por favor, escriba una fecha válida.", |
||||
|
dateISO: "Por favor, escriba una fecha (ISO) válida.", |
||||
|
number: "Por favor, escriba un número válido.", |
||||
|
digits: "Por favor, escriba sólo dígitos.", |
||||
|
creditcard: "Por favor, escriba un número de tarjeta válido.", |
||||
|
equalTo: "Por favor, escriba el mismo valor de nuevo.", |
||||
|
extension: "Por favor, escriba un valor con una extensión permitida.", |
||||
|
maxlength: $.validator.format( "Por favor, no escriba más de {0} caracteres." ), |
||||
|
minlength: $.validator.format( "Por favor, no escriba menos de {0} caracteres." ), |
||||
|
rangelength: $.validator.format( "Por favor, escriba un valor entre {0} y {1} caracteres." ), |
||||
|
range: $.validator.format( "Por favor, escriba un valor entre {0} y {1}." ), |
||||
|
max: $.validator.format( "Por favor, escriba un valor menor o igual a {0}." ), |
||||
|
min: $.validator.format( "Por favor, escriba un valor mayor o igual a {0}." ), |
||||
|
nifES: "Por favor, escriba un NIF válido.", |
||||
|
nieES: "Por favor, escriba un NIE válido.", |
||||
|
cifES: "Por favor, escriba un CIF válido." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Este campo es obligatorio.",remote:"Por favor, llene este campo.",email:"Por favor, escriba un correo electrónico válido.",url:"Por favor, escriba una URL válida.",date:"Por favor, escriba una fecha válida.",dateISO:"Por favor, escriba una fecha (ISO) válida.",number:"Por favor, escriba un número válido.",digits:"Por favor, escriba sólo dígitos.",creditcard:"Por favor, escriba un número de tarjeta válido.",equalTo:"Por favor, escriba el mismo valor de nuevo.",extension:"Por favor, escriba un valor con una extensión permitida.",maxlength:a.validator.format("Por favor, no escriba más de {0} caracteres."),minlength:a.validator.format("Por favor, no escriba menos de {0} caracteres."),rangelength:a.validator.format("Por favor, escriba un valor entre {0} y {1} caracteres."),range:a.validator.format("Por favor, escriba un valor entre {0} y {1}."),max:a.validator.format("Por favor, escriba un valor menor o igual a {0}."),min:a.validator.format("Por favor, escriba un valor mayor o igual a {0}."),nifES:"Por favor, escriba un NIF válido.",nieES:"Por favor, escriba un NIE válido.",cifES:"Por favor, escriba un CIF válido."}),a}); |
||||
@ -0,0 +1,33 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: ET (Estonian; eesti, eesti keel) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "See väli peab olema täidetud.", |
||||
|
maxlength: $.validator.format( "Palun sisestage vähem kui {0} tähemärki." ), |
||||
|
minlength: $.validator.format( "Palun sisestage vähemalt {0} tähemärki." ), |
||||
|
rangelength: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki." ), |
||||
|
email: "Palun sisestage korrektne e-maili aadress.", |
||||
|
url: "Palun sisestage korrektne URL.", |
||||
|
date: "Palun sisestage korrektne kuupäev.", |
||||
|
dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).", |
||||
|
number: "Palun sisestage korrektne number.", |
||||
|
digits: "Palun sisestage ainult numbreid.", |
||||
|
equalTo: "Palun sisestage sama väärtus uuesti.", |
||||
|
range: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1}." ), |
||||
|
max: $.validator.format( "Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}." ), |
||||
|
min: $.validator.format( "Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}." ), |
||||
|
creditcard: "Palun sisestage korrektne krediitkaardi number." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"See väli peab olema täidetud.",maxlength:a.validator.format("Palun sisestage vähem kui {0} tähemärki."),minlength:a.validator.format("Palun sisestage vähemalt {0} tähemärki."),rangelength:a.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."),email:"Palun sisestage korrektne e-maili aadress.",url:"Palun sisestage korrektne URL.",date:"Palun sisestage korrektne kuupäev.",dateISO:"Palun sisestage korrektne kuupäev (YYYY-MM-DD).",number:"Palun sisestage korrektne number.",digits:"Palun sisestage ainult numbreid.",equalTo:"Palun sisestage sama väärtus uuesti.",range:a.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."),max:a.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."),min:a.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."),creditcard:"Palun sisestage korrektne krediitkaardi number."}),a}); |
||||
@ -0,0 +1,35 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: EU (Basque; euskara, euskera) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Eremu hau beharrezkoa da.", |
||||
|
remote: "Mesedez, bete eremu hau.", |
||||
|
email: "Mesedez, idatzi baliozko posta helbide bat.", |
||||
|
url: "Mesedez, idatzi baliozko URL bat.", |
||||
|
date: "Mesedez, idatzi baliozko data bat.", |
||||
|
dateISO: "Mesedez, idatzi baliozko (ISO) data bat.", |
||||
|
number: "Mesedez, idatzi baliozko zenbaki oso bat.", |
||||
|
digits: "Mesedez, idatzi digituak soilik.", |
||||
|
creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.", |
||||
|
equalTo: "Mesedez, idatzi berdina berriro ere.", |
||||
|
extension: "Mesedez, idatzi onartutako luzapena duen balio bat.", |
||||
|
maxlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gehiago." ), |
||||
|
minlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gutxiago." ), |
||||
|
rangelength: $.validator.format( "Mesedez, idatzi {0} eta {1} karaktere arteko balio bat." ), |
||||
|
range: $.validator.format( "Mesedez, idatzi {0} eta {1} arteko balio bat." ), |
||||
|
max: $.validator.format( "Mesedez, idatzi {0} edo txikiagoa den balio bat." ), |
||||
|
min: $.validator.format( "Mesedez, idatzi {0} edo handiagoa den balio bat." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Eremu hau beharrezkoa da.",remote:"Mesedez, bete eremu hau.",email:"Mesedez, idatzi baliozko posta helbide bat.",url:"Mesedez, idatzi baliozko URL bat.",date:"Mesedez, idatzi baliozko data bat.",dateISO:"Mesedez, idatzi baliozko (ISO) data bat.",number:"Mesedez, idatzi baliozko zenbaki oso bat.",digits:"Mesedez, idatzi digituak soilik.",creditcard:"Mesedez, idatzi baliozko txartel zenbaki bat.",equalTo:"Mesedez, idatzi berdina berriro ere.",extension:"Mesedez, idatzi onartutako luzapena duen balio bat.",maxlength:a.validator.format("Mesedez, ez idatzi {0} karaktere baino gehiago."),minlength:a.validator.format("Mesedez, ez idatzi {0} karaktere baino gutxiago."),rangelength:a.validator.format("Mesedez, idatzi {0} eta {1} karaktere arteko balio bat."),range:a.validator.format("Mesedez, idatzi {0} eta {1} arteko balio bat."),max:a.validator.format("Mesedez, idatzi {0} edo txikiagoa den balio bat."),min:a.validator.format("Mesedez, idatzi {0} edo handiagoa den balio bat.")}),a}); |
||||
@ -0,0 +1,39 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: FA (Persian; فارسی) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "تکمیل این فیلد اجباری است.", |
||||
|
remote: "لطفا این فیلد را تصحیح کنید.", |
||||
|
email: "لطفا یک ایمیل صحیح وارد کنید.", |
||||
|
url: "لطفا آدرس صحیح وارد کنید.", |
||||
|
date: "لطفا تاریخ صحیح وارد کنید.", |
||||
|
dateFA: "لطفا یک تاریخ صحیح وارد کنید.", |
||||
|
dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", |
||||
|
number: "لطفا عدد صحیح وارد کنید.", |
||||
|
digits: "لطفا تنها رقم وارد کنید.", |
||||
|
creditcard: "لطفا کریدیت کارت صحیح وارد کنید.", |
||||
|
equalTo: "لطفا مقدار برابری وارد کنید.", |
||||
|
extension: "لطفا مقداری وارد کنید که", |
||||
|
alphanumeric: "لطفا مقدار را عدد (انگلیسی) وارد کنید.", |
||||
|
maxlength: $.validator.format( "لطفا بیشتر از {0} حرف وارد نکنید." ), |
||||
|
minlength: $.validator.format( "لطفا کمتر از {0} حرف وارد نکنید." ), |
||||
|
rangelength: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), |
||||
|
range: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), |
||||
|
max: $.validator.format( "لطفا مقداری کمتر از {0} وارد کنید." ), |
||||
|
min: $.validator.format( "لطفا مقداری بیشتر از {0} وارد کنید." ), |
||||
|
minWords: $.validator.format( "لطفا حداقل {0} کلمه وارد کنید." ), |
||||
|
maxWords: $.validator.format( "لطفا حداکثر {0} کلمه وارد کنید." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"تکمیل این فیلد اجباری است.",remote:"لطفا این فیلد را تصحیح کنید.",email:"لطفا یک ایمیل صحیح وارد کنید.",url:"لطفا آدرس صحیح وارد کنید.",date:"لطفا تاریخ صحیح وارد کنید.",dateFA:"لطفا یک تاریخ صحیح وارد کنید.",dateISO:"لطفا تاریخ صحیح وارد کنید (ISO).",number:"لطفا عدد صحیح وارد کنید.",digits:"لطفا تنها رقم وارد کنید.",creditcard:"لطفا کریدیت کارت صحیح وارد کنید.",equalTo:"لطفا مقدار برابری وارد کنید.",extension:"لطفا مقداری وارد کنید که",alphanumeric:"لطفا مقدار را عدد (انگلیسی) وارد کنید.",maxlength:a.validator.format("لطفا بیشتر از {0} حرف وارد نکنید."),minlength:a.validator.format("لطفا کمتر از {0} حرف وارد نکنید."),rangelength:a.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),range:a.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."),max:a.validator.format("لطفا مقداری کمتر از {0} وارد کنید."),min:a.validator.format("لطفا مقداری بیشتر از {0} وارد کنید."),minWords:a.validator.format("لطفا حداقل {0} کلمه وارد کنید."),maxWords:a.validator.format("لطفا حداکثر {0} کلمه وارد کنید.")}),a}); |
||||
@ -0,0 +1,33 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: FI (Finnish; suomi, suomen kieli) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Tämä kenttä on pakollinen.", |
||||
|
email: "Syötä oikea sähköpostiosoite.", |
||||
|
url: "Syötä oikea URL-osoite.", |
||||
|
date: "Syötä oikea päivämäärä.", |
||||
|
dateISO: "Syötä oikea päivämäärä muodossa VVVV-KK-PP.", |
||||
|
number: "Syötä luku.", |
||||
|
creditcard: "Syötä voimassa oleva luottokorttinumero.", |
||||
|
digits: "Syötä pelkästään numeroita.", |
||||
|
equalTo: "Syötä sama arvo uudestaan.", |
||||
|
maxlength: $.validator.format( "Voit syöttää enintään {0} merkkiä." ), |
||||
|
minlength: $.validator.format( "Vähintään {0} merkkiä." ), |
||||
|
rangelength: $.validator.format( "Syötä vähintään {0} ja enintään {1} merkkiä." ), |
||||
|
range: $.validator.format( "Syötä arvo väliltä {0}–{1}." ), |
||||
|
max: $.validator.format( "Syötä arvo, joka on enintään {0}." ), |
||||
|
min: $.validator.format( "Syötä arvo, joka on vähintään {0}." ) |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
@ -0,0 +1,4 @@ |
|||||
|
/*! jQuery Validation Plugin - v1.19.0 - 11/28/2018 |
||||
|
* https://jqueryvalidation.org/
|
||||
|
* Copyright (c) 2018 Jörn Zaefferer; Licensed MIT */ |
||||
|
!function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"Tämä kenttä on pakollinen.",email:"Syötä oikea sähköpostiosoite.",url:"Syötä oikea URL-osoite.",date:"Syötä oikea päivämäärä.",dateISO:"Syötä oikea päivämäärä muodossa VVVV-KK-PP.",number:"Syötä luku.",creditcard:"Syötä voimassa oleva luottokorttinumero.",digits:"Syötä pelkästään numeroita.",equalTo:"Syötä sama arvo uudestaan.",maxlength:a.validator.format("Voit syöttää enintään {0} merkkiä."),minlength:a.validator.format("Vähintään {0} merkkiä."),rangelength:a.validator.format("Syötä vähintään {0} ja enintään {1} merkkiä."),range:a.validator.format("Syötä arvo väliltä {0}–{1}."),max:a.validator.format("Syötä arvo, joka on enintään {0}."),min:a.validator.format("Syötä arvo, joka on vähintään {0}.")}),a}); |
||||
@ -0,0 +1,63 @@ |
|||||
|
(function( factory ) { |
||||
|
if ( typeof define === "function" && define.amd ) { |
||||
|
define( ["jquery", "../jquery.validate"], factory ); |
||||
|
} else if (typeof module === "object" && module.exports) { |
||||
|
module.exports = factory( require( "jquery" ) ); |
||||
|
} else { |
||||
|
factory( jQuery ); |
||||
|
} |
||||
|
}(function( $ ) { |
||||
|
|
||||
|
/* |
||||
|
* Translated default messages for the jQuery validation plugin. |
||||
|
* Locale: FR (French; français) |
||||
|
*/ |
||||
|
$.extend( $.validator.messages, { |
||||
|
required: "Ce champ est obligatoire.", |
||||
|
remote: "Veuillez corriger ce champ.", |
||||
|
email: "Veuillez fournir une adresse électronique valide.", |
||||
|
url: "Veuillez fournir une adresse URL valide.", |
||||
|
date: "Veuillez fournir une date valide.", |
||||
|
dateISO: "Veuillez fournir une date valide (ISO).", |
||||
|
number: "Veuillez fournir un numéro valide.", |
||||
|
digits: "Veuillez fournir seulement des chiffres.", |
||||
|
creditcard: "Veuillez fournir un numéro de carte de crédit valide.", |
||||
|
equalTo: "Veuillez fournir encore la même valeur.", |
||||
|
notEqualTo: "Veuillez fournir une valeur différente, les valeurs ne doivent pas être identiques.", |
||||
|
extension: "Veuillez fournir une valeur avec une extension valide.", |
||||
|
maxlength: $.validator.format( "Veuillez fournir au plus {0} caractères." ), |
||||
|
minlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), |
||||
|
rangelength: $.validator.format( "Veuillez fournir une valeur qui contient entre {0} et {1} caractères." ), |
||||
|
range: $.validator.format( "Veuillez fournir une valeur entre {0} et {1}." ), |
||||
|
max: $.validator.format( "Veuillez fournir une valeur inférieure ou égale à {0}." ), |
||||
|
min: $.validator.format( "Veuillez fournir une valeur supérieure ou égale à {0}." ), |
||||
|
step: $.validator.format( "Veuillez fournir une valeur multiple de {0}." ), |
||||
|
maxWords: $.validator.format( "Veuillez fournir au plus {0} mots." ), |
||||
|
minWords: $.validator.format( "Veuillez fournir au moins {0} mots." ), |
||||
|
rangeWords: $.validator.format( "Veuillez fournir entre {0} et {1} mots." ), |
||||
|
letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.", |
||||
|
alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.", |
||||
|
lettersonly: "Veuillez fournir seulement des lettres.", |
||||
|
nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.", |
||||
|
ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.", |
||||
|
integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.", |
||||
|
vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).", |
||||
|
dateITA: "Veuillez fournir une date valide.", |
||||
|
time: "Veuillez fournir une heure valide entre 00:00 et 23:59.", |
||||
|
phoneUS: "Veuillez fournir un numéro de téléphone valide.", |
||||
|
phoneUK: "Veuillez fournir un numéro de téléphone valide.", |
||||
|
mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.", |
||||
|
strippedminlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), |
||||
|
email2: "Veuillez fournir une adresse électronique valide.", |
||||
|
url2: "Veuillez fournir une adresse URL valide.", |
||||
|
creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.", |
||||
|
ipv4: "Veuillez fournir une adresse IP v4 valide.", |
||||
|
ipv6: "Veuillez fournir une adresse IP v6 valide.", |
||||
|
require_from_group: $.validator.format( "Veuillez fournir au moins {0} de ces champs." ), |
||||
|
nifES: "Veuillez fournir un numéro NIF valide.", |
||||
|
nieES: "Veuillez fournir un numéro NIE valide.", |
||||
|
cifES: "Veuillez fournir un numéro CIF valide.", |
||||
|
postalCodeCA: "Veuillez fournir un code postal valide." |
||||
|
} ); |
||||
|
return $; |
||||
|
})); |
||||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue