Thanks for getting back to me @ismcagdas I suspect I have done something wrong. My files are in the wrong place and I rolled back all the changes I made since it was playing havok with the build and publish.
It is is OK with you I will close this ticket and get back to you at a later date if I still have problems.
bundleconfig.json
https://docs.google.com/document/d/1xrWsuaD4G9Gv45E0NJlBrfm49Z8Zhpnb5WHDMP9HcFc/edit?usp=sharing
package.json
{
"name": "abpzerotemplate",
"scripts": {
"bundle": "dotnet bundle",
"bundle-clean": "dotnet bundle clean",
"bundle-watch": "dotnet bundle watch",
"restore": "dotnet restore",
"copy-node-modules": "gulp copy:node_modules",
"package-install": "yarn",
"bundle-clean:bundle": "npm run bundle-clean && npm run bundle",
"create-bundles": "gulp copy:node_modules && npm run bundle-clean:bundle",
"package-install-create-bundles": "npm run package-install && npm run create-bundles",
"full-build": "npm run restore && npm run package-install-create-bundles"
},
"version": "6.4.0",
"dependencies": {
"@aspnet/signalr": "^1.0.4",
"@fancyapps/fancybox": "^3.5.2",
"abp-web-resources": "^3.8.4",
"animate.css": "^3.7.0",
"autosize": "^4.0.2",
"block-ui": "^2.70.1",
"blueimp-file-upload": "^9.27.0",
"bootstrap": "^4.1.3",
"bootstrap-daterangepicker": "^3.0.3",
"bootstrap-hover-dropdown": "^2.2.1",
"bootstrap-markdown": "^2.10.0",
"bootstrap-maxlength": "^1.6.0",
"bootstrap-notify": "^3.1.3",
"bootstrap-select": "^1.13.3",
"bootstrap-switch": "^3.3.4",
"bootstrap-timepicker": "^0.5.2",
"bootstrap-touchspin": "^4.2.5",
"bootstrap4-datetimepicker": "^5.2.3",
"bower": "*",
"chart.js": "^2.7.3",
"chartist": "^0.11.0",
"cookieconsent": "^3.1.0",
"css-toggle-switch": "^4.1.0",
"d3": "^5.7.0",
"datatables.net": "^2.1.1",
"datatables.net-bs4": "^3.2.2",
"datatables.net-responsive": "^2.2.3",
"datatables.net-responsive-bs4": "^2.2.3",
"datatables.net-select": "^1.2.7",
"detect-zoom": "^1.0.2",
"dropzone": "^5.5.1",
"easy-pie-chart": "^2.1.7",
"famfamfam-flags": "^1.0.0",
"flot": "^0.8.0-alpha",
"gmaps": "^0.4.24",
"inputmask": "^4.0.3",
"ion-rangeslider": "^2.2.0",
"jquery": "^3.3.1",
"jquery-form": "^4.2.2",
"jquery-serializejson": "^2.8.1",
"jquery-slimscroll": "^1.3.8",
"jquery-ui": "^1.12.1",
"jquery-sparkline": "^2.4.0",
"jquery-validation": "^1.19.0",
"jquery.counterup": "^2.1.0",
"jquery.uniform": "^4.2.2",
"jqvmap": "^1.5.1",
"js-cookie": "^2.2.0",
"js-url": "^2.3.0",
"json2": "*",
"jstree": "^3.3.7",
"localforage": "^1.7.3",
"malihu-custom-scrollbar-plugin": "^3.1.5",
"moment": "^2.22.2",
"moment-timezone": "^0.5.23",
"morris.js": "^0.5.0",
"mustache": "^3.0.0",
"pace-progress": "^1.0.2",
"perfect-scrollbar": "^1.4.0",
"popper.js": "^1.14.5",
"prismjs": "^1.15.0",
"push.js": "^1.0.9",
"rangeslider.js": "^2.3.2",
"raphael": "^2.2.7",
"select2": "^4.0.5",
"select2-bootstrap-theme": "^0.1.0-beta.9",
"signalr": "^2.3.0",
"simple-line-icons": "^2.4.1",
"socicon": "^3.0.5",
"spin.js": "^2.3.2",
"summernote": "^0.8.10",
"sweetalert": "^2.1.2",
"tether": "v1.4.5",
"timeago": "^1.6.3",
"toastr": "^2.1.4",
"topojson": "^3.0.2",
"typeahead.js": "^0.11.1",
"underscore": "^1.9.1",
"urijs": "^1.19.1",
"waypoints": "^4.0.1"
},
"devDependencies": {
"gulp": "^4.0.0",
"merge-stream": "^1.0.1",
"rimraf": "^2.6.2",
"yarn": "^1.12.3"
}
}
Got back from my holidays and created an issue in GitHub as requested.
#<span></span>2218 martin-epayday
Thanks for the info.
Still having problems I added "node_modules/@fortawesome/fontawesome-pro/css/fontawesome.css": "@fortawesome/fontawesome-pro/css/"
to package-mapping-config.js and "wwwroot/lib/@fortawesome/fontawesome-pro/css/fontawesome.css"
to the "outputFileName": "wwwroot/view-resources/Areas/App/Views/Bundles/vendors.bundle.css" section of bundleconfig.json
When I run "npm run create-bundles" I get the error npm : npm ERR! missing script: create-bundles.
I can perform a project build which tells me fontawesome.css is missing and of course no icons display.
Going to be away for a week, so I will have to follow this up when I get back.
I'm having trouble getting access to your git-hub and I will be away for 1 week so I'll have to raise that when I get back.
As per the information on their site I installed Font-Awesome after my boss purchased it
npm config set "@fortawesome:registry" https://npm.fontawesome.com/ npm config set "//npm.fontawesome.com/:_authToken" <out-token-value> npm install --save-dev @fortawesome/fontawesome-pro
I also tired
yarn add --dev @fortawesome/fontawesome-pro
This has installed the fonts and I can see everything I need to know in the file ..\src\epayday.Web.Mvc\wwwroot\metronic\src\vendors\fontawesome5\css\all.css
These links https://forum.aspnetboilerplate.com/viewtopic.php?p=31827 and https://support.aspnetzero.com/QA/Questions/5527 explains that I should add a link to src/index.html but where there are quite a few Index.html files in the project, is this something I need to add myself or has the something not been installed correctly.
In my original question I was showing the two validation methods for two differnt different HTML inputs.
A better way to have asked this question would be :-
If I add pattern="[0-9]{6-12}"
to a HTML input what extra do I need to get the JQuery Validator to validate that value ?
Do I create my own custom JQuery Validation method (a per my original question) ? OR am I missing something obvious ?
Keep in mind the pages I am updating were generated by the RAD tool.
I added a Custom JQuery Validation method :-
$.validator.addMethod("ABN", function (value, element) {
return /[0-9]{12}/.test(value);
}, "Please enter a valid ABN.");
this.init =
.
.
$('#SuperFund_FundABN').rules("add", {
ABN: true
});
Which results in a 'nice' validation for my user.
Where as what has been autogenerated by the RAD tool :-
<input class="form-control" id="SuperFund_BSB" value="@Model.SuperFund.BSB" type="text" name="bsb" maxlength="@epayday.Epayday.SuperFunds.SuperFundConsts.MaxBSBLength" minlength="@epayday.Epayday.SuperFunds.SuperFundConsts.MinBSBLength" pattern="@epayday.Epayday.SuperFunds.SuperFundConsts.BSBRegex" />
Which provides an inconsistant user experience.
Am I missing something fundamental ? Or do I have to create custom JQuery Validation methods for regular expressions ?
Thanks again maliming, your support is top notch. The feedback you gave me was great. A bit more reading and I have gotten my code working. I know for some people this is obvious but for me sometimes I miss something obvious which then of course slow me down.
_superFundLookupService.getSuperFundPaymentMethodFromID($('#SuperFund_PaymentMethod').val())
.done(function (result) {
switch (result) {
case "BPAY":
$("#BPAY_Section").show();
$("#EFT_Section").hide();
break;
case "EFT":
$("#BPAY_Section").hide();
$("#EFT_Section").show();
break;
default:
$("#BPAY_Section").hide();
$("#EFT_Section").hide();
break;
}
});
Earlier today someone gave me some awesome remote support, I suspect the issue was actually my understanding of how to process the result of what was returned by the Applcation Service call.
What I am trying to do is pass in an integer to the Application Service which will return a single string. I use that to work out which controls to show and hide. Main reason is to make it easier for other developers to read the code. I will eventually go with something better but this I what I am doing for now.
So when I debug my code at :-
var result = _superFundLookupService.getSuperFundPaymentMethodFromID($('#SuperFund_PaymentMethod').val());
console.log(result);
debugger
I can see the results of the Application Service call as an object. I have been reading about processing Ajax via JQuery etc. But I am stuck. Some code examples show something like :-
_superFundLookupService.getSuperFundPaymentMethodFromID($('#SuperFund_PaymentMethod').val())
.done(function (result) { <do something here> ! } );
I have tried a few things and nothing seems to make sense. Can someone please direct me to a page/site where I can work out what I need to do. I know there is a way to extract my return string from the response since the other examples in the project are processing the return objects.
I'm not asking to be spoon-fed but something that explains what I am trying to do would be great !